Python 在熊猫的索引列中查找值

Python 在熊猫的索引列中查找值,python,pandas,Python,Pandas,假设我有一个如下所示的数据帧 d = {'col1': [1, 2,4,5,6], 'col2': [3, 4,5,6,7], 'col3': ['foo', 'bar', 'baz','biz', 'boo'] } df = pd.DataFrame(data=d) df.head() col1 col2 col3 0 1 3 foo 1 2 4 bar 2 4 5 baz 3 5 6 biz 4

假设我有一个如下所示的数据帧

d = {'col1': [1, 2,4,5,6], 'col2': [3, 4,5,6,7], 'col3': ['foo', 'bar', 'baz','biz', 'boo'] }    

df = pd.DataFrame(data=d) 
df.head()

   col1  col2 col3
0     1     3  foo
1     2     4  bar
2     4     5  baz
3     5     6  biz
4     6     7  boo
现在,我想索引所有列。。
indexed\u df=df.set\u index(['col1','col2','col3'))

如何在此索引df中搜索特定值

如果我想在df中搜索baz 我会的

df[df.col3 == 'baz']

如何使用索引的_df做同样的事情有几种方法:

选项1

选项2

选项3


让我们假设有一些数据

indexed_df = df.set_index(['col1', 'col2', 'col3']).assign(value=1)
上述任何一项都将给出:

                value
col1 col2 col3       
4    5    baz       1

谢谢你的回复。。最后一个问题。如果其中一个索引列是list呢?比如说:col4有一行的列表值为[1,2,3,4],我想在col4中搜索4?这听起来像是它自己的问题。还有一些选项,
explode
系列和
groupby().max()
似乎是可行的。但如果没有数据,我无法准确判断:-)。不管怎么说,这都不适合评论。我在这里问了一个问题:谢谢你的帮助
indexed_df.loc[indexed_df.index.get_level_values('col3')=='baz']
indexed_df = df.set_index(['col1', 'col2', 'col3']).assign(value=1)
                value
col1 col2 col3       
4    5    baz       1