我有一个DataFrame df ,其中包含三列:['mid','2014_amt','2015_amt']
我想提取特定商家的行。例如,考虑我的数据是:
df['mid'] = ['as','fsd','qww','fd']
df['2014_amt] = [144,232,45,121]
df['2015_amt] = [676,455,455,335]
我想提取与mid = ['fsd','qww']
对应的整行。这怎么做得最好?我尝试使用以下代码:
df.query('mid== "fsd"')
如果我想运行循环,我如何使用上面的代码提取指定值mid
的行?
for val in mid:
print df.query('mid' == "val"')
这是一个错误,因为未指定val
。
答案 0 :(得分:1)
选项1
df.query('mid in ["fsd", "qww"]')
mid 2014_amt 2015_amt
1 fsd 232 455
2 qww 45 455
选项2
df[df['mid'].isin(['fsd', 'qww'])]
mid 2014_amt 2015_amt
1 fsd 232 455
2 qww 45 455