我在下面有以下数据框:
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 Dataframe的适当语法,以确定如何索引列'频道'或者等于A或B.一旦找到所有实例,我想打印出来。另外,我希望能够在脚本中调用每个索引以获取更多应用程序。
我希望显示为:
Rec Channel Value1 Value2
Event A 23 39
Post A 79 11
Post B 88 69
然后我想要一个' for循环'它会分别打印并打印出每个索引实例,以便于识别并单独调用它们以便在脚本中进一步使用。有人可以建议吗?
答案 0 :(得分:2)
您可以使用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
按索引返回第二行:
res2 = res.loc[2]
print(res2)
# Rec Event
# Channel A
# Value1 23
# Value2 39
# Name: 2, dtype: object
答案 1 :(得分:1)
使用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
如果您想要索引,那么您可以将其用于其他目的:
无论
idx = res.index
或者,不做res
idx = df.index[df.Channel.isin(['A', 'B'])]