Python 从另一列中选择列表值

Python 从另一列中选择列表值,python,pandas,dataframe,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 有什么优雅的方法可以解决这个问题吗?谢谢大家! 将列表理解与索引结合使用: df['C'] = [x[y] for x,

各位!!我有这样一个熊猫数据框:

        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

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

将列表理解与索引结合使用:

df['C'] = [x[y] for x, y in df[['A','B']].to_numpy()]
或者,但如果数据帧较大:

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