gpt4 book ai didi

python - Pandas 的可变转变

转载 作者:太空宇宙 更新时间:2023-11-03 15:00:18 26 4
gpt4 key购买 nike

数据框中有两列 A 和 B:

   A   B
0 1 6
1 2 7
2 1 8
3 2 9
4 1 10

我想创建一个 C 列。C 的 B 值必须按 A 的值移动:

   A   B   C 
0 1 6 NaN
1 2 7 NaN
2 1 8 7
3 2 9 7
4 1 10 9

命令:

df['C'] = df['B'].shift(df['A'])

不起作用。您还有其他想法吗?

最佳答案

我会使用 numpy 的帮助来避免 apply

l = np.arange(len(df)) - df.A.values
df['C'] = np.where(l >=0, df.B.values[l], np.nan)
df

A B C
0 1 6 NaN
1 2 7 NaN
2 1 8 7.0
3 2 9 7.0
4 1 10 9.0

简单的时间测试

enter image description here

关于python - Pandas 的可变转变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38523920/

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