我正在尝试进行多列选择,然后在 Pandas 中替换
df:
a b c d e
0 1 1 0 none
0 0 0 1 none
1 0 0 0 none
0 0 0 0 none
选择其中任何或所有 a、b、c、d 不为零的地方
i, j = np.where(df)
s=pd.Series(dict(zip(zip(i, j),
df.columns[j]))).reset_index(-1, drop=True)
s:
0 b
0 c
1 d
2 a
现在我想用系列替换 e 列中的值:
df['e'] = s.values
所以 e 看起来像:
电子:
b, c
d
a
none
但问题是系列的长度与数据帧中的行数不同。
关于我如何做到这一点的任何想法?
Cats萌萌
相关分类