每个人!我有一个这样的熊猫数据框:
A B
0 [1,2,3] 0
1 [2,3,4] 1
我们可以看到,A列是一个列表,B列是一个索引值。我想获得一个C列,该列是A的B索引:
A B C
0 [1,2,3] 0 1
1 [2,3,4] 1 3
有什么优雅的方法可以解决这个问题吗?谢谢!
答案 0 :(得分:3)
结合索引使用列表理解:
df['C'] = [x[y] for x, y in df[['A','B']].to_numpy()]
或DataFrame.apply
,但如果使用较大的DataFrame,则速度会较慢:
df['C'] = df.apply(lambda x: x.A[x.B], axis=1)
print (df)
A B C
0 [1, 2, 3] 0 1
1 [2, 3, 4] 1 3