Pandas 获取 Cell 中每个元组的第一个元素

Dan*_*ty2 3 tuples python-3.x pandas

给定以下数据框:

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]]
Run Code Online (Sandbox Code Playgroud)

我想创建一个新列 ('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]
Run Code Online (Sandbox Code Playgroud)

到目前为止,我已经尝试过:

df['C']=df['B'][0]
Run Code Online (Sandbox Code Playgroud)

...但这只会返回第一个元组 ([1, 2])。

提前致谢!

Pal*_*mbe 11

这对我有用 -

df['C'] = df['B'].str[0]
Run Code Online (Sandbox Code Playgroud)


Alb*_*oso 5

df['C'] = df['B'].apply(lambda x: [y[0] for y in x])
Run Code Online (Sandbox Code Playgroud)