首页 > 解决方案 > 获取列表类型数据字段的第一个元素

问题描述

我有一个包含列表的单元格的数据框。现在我想获取列表中的每个第一个元素,如果有的话。像

416                      []
417                      []
419                   [562]
425              [570, 632]
426                      []
427    [511, 586, 753, 604]
428                      []

我想要的是这样的东西(可以用来创建一个新行)

416                    nan
417                    nan
419                    562
425                    570
426                    nan
427                    511
428                    nan

我怎样才能做到这一点?或者这是不好的做法,应该避免?

标签: pythonpandas

解决方案


采用:

df['col'].str[0]

例子

df = pd.DataFrame({'col': {0: [],
  1: [],
  2: [562],
  3: [570, 632],
  4: [],
  5: [511, 586, 753, 604],
  6: []}})

print(df['col'].str[0])

0      NaN
1      NaN
2    562.0
3    570.0
4      NaN
5    511.0
6      NaN

推荐阅读