【发布时间】:2016-07-12 16:30:40
【问题描述】:
给定以下数据框:
import pandas as pd
df=pd.DataFrame({'A':['a','b','c'],
'B':[[[1,2],[3,4],[5,6]],[[1,2],[3,4],[5,6]],[[1,2],[3,4],[5,6]]]})
df
A B
0 a [[1, 2], [3, 4], [5, 6]]
1 b [[1, 2], [3, 4], [5, 6]]
2 c [[1, 2], [3, 4], [5, 6]]
我想创建一个新列 ('C'),其中包含 B 列元组的每个元素中的第一个值,如下所示:
A B C
0 a [[1, 2], [3, 4], [5, 6]] [1,3,5]
1 b [[1, 2], [3, 4], [5, 6]] [1,3,5]
2 c [[1, 2], [3, 4], [5, 6]] [1,3,5]
到目前为止,我已经尝试过:
df['C']=df['B'][0]
...但是只返回第一个元组 ([1, 2])。
提前致谢!
【问题讨论】:
-
不会
df['B'].apply(lambda x: [e[0] for e in x])工作?好的,只需重新阅读,查看更新的评论 -
是的,确实如此。您要发布作为答案吗?
-
不需要阿尔贝托的回答就是我会发布的
标签: python-3.x pandas tuples