python - 我需要获取 pandas-dataframe 行,其中包括列中特定列表位置的特定值
问题描述
我有一个包含几列的数据框。此列的类型之一是列表:
import pandas as pd
df = pd.DataFrame({'col1': [[1, 2, 'x'], ['as', 3, 5, 7], [1, 2]],
'col2': ['barfoo', 'foo', 'bar']})
print(df)
col1 col2
0 [1, 2, x] barfoo
1 [as, 3, 5, 7] foo
2 [1, 2] bar
所以我需要获取行,其中'col1'中的列表值等于2。
像这样的东西(它不起作用):
result = df.loc[df['col1'].list[1] == 2]
期望的输出:
col1 col2
0 [1, 2, x] barfoo
2 [1, 2] bar
解决方案
你可以这样做:
df.loc[df.col1.str[1] == 2]
推荐阅读
- ansible - 从 Bitbucket 触发 ansible 作业
- flash - 从 Adobe Animate 中打开的 FLA 文件中导出所有项目
- sql - 在 SQL 中只返回 false 值
- lisp - lisp 更新列表函数
- postgresql - 如何在具有一列作为 json 值的 postgres db 中进行查询
- java - TMdb 的 ImageURL 问题?
- java - List 接口的 replaceAll() 方法的目的是什么?
- python - Twilio Python:如何通过 twilio 调用多个调用
- c# - 如何使用 xamarin 制作手表标志以添加视频以稍后观看列表
- html - 使用 Flexbox 实现汉堡菜单时失败