Python 3.x 熊猫得到单元格中每个元组的第一个元素
给定以下数据帧:Python 3.x 熊猫得到单元格中每个元组的第一个元素,python-3.x,pandas,tuples,Python 3.x,Pandas,Tuples,给定以下数据帧: 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
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['C'] = df["B"].apply(lambda x : [y[0] for y in list(x)])
这对我有用-
df['C'] = df['B'].str[0]
不会
df['B']。应用(λx:[e[0]表示x中的e])
work?好的,重读一遍,看更新的评论是的,的确如此。你打算把它作为答案发布吗?没必要,阿尔贝托的答案是我会发布的
df['C'] = df['B'].str[0]