数据框中的列表列表,需要为所有人访问单个值

时间:2017-03-10 22:09:18

标签: pandas dataframe

我有一个包含单元格列表的数据框。

player1 player2 player3
0   ['PF/C', 'DeMarcus Cousins', 11000] ['PG', 'John Wall', 10700]  ['SF', 'LeBron James', 10600]
1   ['PF/C', 'DeMarcus Cousins', 11000] ['PG', 'John Wall', 10700]  ['PG/SF', 'Giannis Antetokounmpo', 10200]
2   ['PF/C', 'DeMarcus Cousins', 11000] ['PG', 'John Wall', 10700]  ['PG', 'Isaiah Thomas', 10100]
3   ['PF/C', 'DeMarcus Cousins', 11000] ['PG', 'John Wall', 10700]  ['PG', 'Stephen Curry', 10000]

对于每一行,我想连续获得所有3位列出的球员的int(球员工资)并将它们添加到一个新列中 - df ['总薪水']。我可以遍历并将每个row_x,column_y转换为一个列表,选择薪水,存储它,然后为其他两个玩家做同样的事情。然后将工资总和存回数据框。但我知道这不是pythonic。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

df['total_salary'] = df.apply(lambda x: x['player1'][2] + \
                                        x['player2'][2] + \
                                        x['player3'][2],
                              axis=1)

那就是说,我想投票给你将每个列表分成不同的列,因为这符合我对更多熊猫的一般定义。