首页 > 解决方案 > 如何访问作为列表的 Pandas 系列元素

问题描述

我有一个 Dataframe 系列,其中包含每行的字符串列表。我想创建另一个系列,它是该行列表中的最后一个字符串。

所以一行可能有一个列表,例如

['a', 'b', 'c', 'd']

我想在这个“d”中创建另一个由该行的最后一个元素组成的熊猫系列,通常作为 -1 引用访问。每个观察(即行)的列表具有不同的长度。如何才能做到这一点?

标签: pythonpandas

解决方案


我相信需要使用 索引str,它适用于所有可迭代对象:

df = pd.DataFrame({'col':[['a', 'b', 'c', 'd'],['a', 'b'],['a'], []]})

df['last'] = df['col'].str[-1]
print (df)
            col last
0  [a, b, c, d]    d
1        [a, b]    b
2           [a]    a
3            []  NaN

strings 也是可迭代的:

df = pd.DataFrame({'col':['abcd','ab','a', '']})
df['last'] = df['col'].str[-1]
print (df)
    col last
0  abcd    d
1    ab    b
2     a    a
3        NaN

推荐阅读