gpt4 book ai didi

python - 用单列中的值替换所有列值 - Pandas

转载 作者:太空宇宙 更新时间:2023-11-03 13:06:31 25 4
gpt4 key购买 nike

我希望使用指定列中的整数替换 df 中所有列中的值。使用下面的 df 我想使用 Code 中的值并在所有其他列中替换它们。

df = pd.DataFrame({
'Place' : ['X','Y','X','Y','X','Y','X','Y'],
'Number' : ['A','B','C','D','F','G','H','I'],
'Code' : [1,2,3,0,1,2,5,4],
'Value' : ['','','','','','','','']
})

df[:] = df['Code'].apply(lambda x: x if np.isreal(x) else 0).astype(int)

print(df)

预期输出:

  Place Number  Code Value
0 1 1 1 1
1 2 2 2 2
2 3 3 3 3
3 0 0 0 0
4 1 1 1 1
5 2 2 2 2
6 5 5 5 5
7 4 4 4 4

最佳答案

使用reindexffillbfill

df[['Code']].reindex(columns=df.columns).ffill(1).bfill(1).astype(int)

Out[256]:
Place Number Code Value
0 1 1 1 1
1 2 2 2 2
2 3 3 3 3
3 0 0 0 0
4 1 1 1 1
5 2 2 2 2
6 5 5 5 5
7 4 4 4 4

Numpy 解决方案

df[:] =  np.transpose([df.Code] * df.shape[1])

Out[314]:
Place Number Code Value
0 1 1 1 1
1 2 2 2 2
2 3 3 3 3
3 0 0 0 0
4 1 1 1 1
5 2 2 2 2
6 5 5 5 5
7 4 4 4 4

关于python - 用单列中的值替换所有列值 - Pandas,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58296391/

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