Python Pandas:获取与列值匹配的所有行的索引

2024-04-20 11:49:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下数据帧:

Rec  Channel  Value1  Value2 
Pre             10      20
Pre             35      42
Event    A      23      39
FF              50      75
Post     A      79      11
Post     B      88      69

我正在尝试确定这个Pandas数据帧的适当语法,如何为列'Channel'等于A或B的所有实例编制索引。一旦找到所有实例,我想打印出来。另外,我希望能够调用每个索引,以便在脚本中进一步应用程序。在

我希望显示:

^{pr2}$

然后我希望有一个“for循环”,它遍历并分别打印出每个索引实例,这样就可以很容易地识别并单独调用它们,以便在脚本中进一步使用。有人能给我个建议吗?在


Tags: 数据实例脚本event应用程序pandas语法channel
2条回答

使用query

res = df.query('Channel in ["A", "B"]')

res

     Rec Channel  Value1  Value2
2  Event       A      23      39
4   Post       A      79      11
5   Post       B      88      69

如果您希望索引可以用于其他用途:

或者

^{pr2}$

或者,不做res

idx = df.index[df.Channel.isin(['A', 'B'])]

您可以使用pd.Series.isin进行此操作:

res = df[df['Channel'].isin({'A', 'B'})]

print(res)

#      Rec Channel  Value1  Value2
# 2  Event       A      23    39.0
# 4   Post       A      79    11.0
# 5   Post       B      88    69.0

按索引返回第二行:

^{pr2}$

相关问题 更多 >