熊猫数据框从另一列中选择列表值

时间:2020-11-10 08:31:22

标签: python pandas dataframe

每个人!我有一个这样的熊猫数据框:

        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

有什么优雅的方法可以解决这个问题吗?谢谢!

1 个答案:

答案 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