我有一个data frame
像下面:
import pandas as pd
df = pd.DataFrame({'ID':['M001','M002','M003','M004','M005'],
'X001':[0,0,1,0,0],
'X002':[0,0,1,1,0],
'X003':[0,0,1,0,1],
'X004':[1,0,1,0,0],
'X005':[1,0,1,1,0]})
print(df)
它看起来像这样:
ID X001 X002 X003 X004 X005
0 M001 0 0 0 1 1
1 M002 0 0 0 0 0
2 M003 1 1 1 1 1
3 M004 0 1 0 0 1
4 M005 0 0 1 0 0
我想要做的就是将值中的值复制ID
到其他列中1
,如下所示。
ID X001 X002 X003 X004 X005
0 M001 0 0 0 M001 M001
1 M002 0 0 0 0 0
2 M003 M003 M003 M003 M003 M003
3 M004 0 M004 0 0 M004
4 M005 0 0 M005 0 0
在〜2000 x〜2000的情况下,最简单,最快的方法是什么data frame
?
这是一种1
用空值替换的方法,即fillna
转置,使用和转置回去:
df.T.replace(1,pd.np.nan).fillna(df['ID']).T
ID X001 X002 X003 X004 X005
0 M001 0 0 0 M001 M001
1 M002 0 0 0 0 0
2 M003 M003 M003 M003 M003 M003
3 M004 0 M004 0 0 M004
4 M005 0 0 M005 0 0
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句