数据框中有两列 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
简单的时间测试
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)