python - 如何访问作为列表的 Pandas 系列元素
问题描述
我有一个 Dataframe 系列,其中包含每行的字符串列表。我想创建另一个系列,它是该行列表中的最后一个字符串。
所以一行可能有一个列表,例如
['a', 'b', 'c', 'd']
我想在这个“d”中创建另一个由该行的最后一个元素组成的熊猫系列,通常作为 -1 引用访问。每个观察(即行)的列表具有不同的长度。如何才能做到这一点?
解决方案
我相信需要使用 索引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
string
s 也是可迭代的:
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
推荐阅读
- java - 尝试使用 JAVA 在 Android Studio 中通过一个按钮将 EditText 值传递给两个不同的活动
- python - 基于列值从 dynamodb 访问值 - python
- python - 从不同文件夹中的 HTML 表单操作调用 FastAPI 发布请求不起作用
- cypress - 发生内部错误(客户端):undefinedTypeError: object null is not iterable (cannot read property Symbol(Symbol.iterator))
- typescript - Typescript Template Literals 执行时出现 TS7053 错误
- python - 数字总和不正确。为什么?
- qt - 如何从 Qt 中的类中引用表单元素?
- elasticsearch - 在 ElasticSearch 上,如何根据字段中的项目数进行搜索?
- spring-boot - Springboot @DataJpaTest 模式=oracle
- r - 如何将响应与 R 中不同列中的特定数据相加