python - 在作为列表的 pandas 的索引列中查找值
问题描述
假设我有一个如下的数据框
d = {'col1': [1, 2,4,5,6], 'col2': [3, 4,5,6,7], 'col3': ['foo', 'bar', 'baz','biz', 'boo'],
'col4': [['foo', 'bar'], ['baz'], ['foo'], ['biz'], ['baz', 'foo']]
}
df = pd.DataFrame(data=d)
df.head()
col1 col2 col3 col4
0 1 3 foo [foo, bar]
1 2 4 bar [baz]
2 4 5 baz [foo]
3 5 6 biz [biz]
4 6 7 boo [baz, foo]
假设我索引第 4 列
indexed_df = df.set_index('col4')
indexed_df
Out[42]:
col1 col2 col3
col4
[foo, bar] 1 3 foo
[baz] 2 4 bar
[foo] 4 5 baz
[biz] 5 6 biz
[baz, foo] 6 7 boo
如何在索引中设置值。说.. 在 col4 中搜索“baz”?谢谢
解决方案
使用Index.map
within
语句:
df1 = indexed_df[indexed_df.index.map(lambda x: 'baz' in x)]
print (df1)
col1 col2 col3
col4
[baz] 2 4 bar
[baz, foo] 6 7 boo
列表理解的替代方法:
df1 = indexed_df[['baz' in x for x in indexed_df.index]]
推荐阅读
- jasper-reports - 在 iReport 的子数据集中使用从主数据集返回的值
- signal-processing - 傅里叶正弦变换 (FFTW) 微分
- python - 如何仅使用列表理解在 pandas 数据框中创建新列?
- c - 如果全局变量和函数同名会发生什么?
- azure - 无论如何要在 foreachpartition 中使用 dbutils.fs 命令?
- matplotlib - Matpliblib 颜色图,峰值在中心,边缘为零
- php - 如果自定义标签中有多个项目值,则添加逗号
- python - 如何解决尽管我安装了模块但未导入模块的问题?
- reactjs - 是否可以在 React 功能方法中通过 onChange 事件传递附加参数
- kubernetes - 我可以在 kubernetes 外部部署 promethues 并监控 kubernetes 吗?