У меня есть два кадра данных: столбец s-1, столбцы d-3
s = {0: [0, 0.3, 0.5, -0.1, -0.2, 0.7, 0]}
d = {0: [0.1, 0.2, -0.2, 0, 0, 0, 0], 1: [0.3, 0.4, -0.7, 0, 0.8, 0, 0.1], 2: [-0.5, 0.4, -0.1, 0.5, 0.5, 0, 0]}
sd = pd.DataFrame(data=s)
dd = pd.DataFrame(data=d)
result = pd.DataFrame()
Я хочу получить результирующий кадр данных (1 столбец) на основе значений в этих двух:
1. Когдазначение в sd = 0
, затем 0
2. Когда значение в sd != 0
, тогда проверьте, есть ли для этой строки хотя бы одно ненулевое значение в dd, если да, - получите среднее значение ненулевых значений, если нетreturn OK
Вот что я хотел бы получить:
results:
0 0
1 -0,033
2 -0,333
3 0,5
4 0,65
5 OK
6 0
Я знаю, что могу использовать dd[dd != 0].mean(axis=1)
для вычисления среднего ненулевого значения для строки, но я нене знаю, как соединить все эти 3 условия вместе