Я пытаюсь заменить каждый элемент серии без необходимости зацикливать его на '[element]', если выполняется условие, в противном случае [], мне нужно, чтобы серия содержала объекты списка в каждой строке в большинстве случаев.эффективный способ.
Я могу сделать это используя очень медленное понимание цикла / списка:
def test_method(A_series, B_series)->pd.Series:
"""return type: pd.Series of lists/ a column of lists"""
C_series = A_series * B_series/ (1+B_series)
mask_on = (C_series <= A_series *np.exp(-.25)-B_series)
updated = [[C_series [i]] if (i in set(C_series [mask_on].index)) else [] for i in C_series.index]
return pd.Series(updated,C_series.index)
Если ряд такой, как показано ниже, и если я задаю условие какi% 2 == 0, серия должна выглядеть как на правой стороне -
4 2 -> [2]
12 3 -> []
13 4 -> [4]
15 5 -> []
Есть ли другой способ сделать это?