gpt4 book ai didi

python - 根据 Pandas 中的特定条件将值从一列复制到同一行中的其他列

转载 作者:太空宇宙 更新时间:2023-11-04 09:37:48 25 4
gpt4 key购买 nike

我有一个如下所示的数据框:

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

关于python - 根据 Pandas 中的特定条件将值从一列复制到同一行中的其他列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53017219/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com