使用df.query()从DataFrame中提取行

时间:2017-08-31 09:40:24

标签: python pandas dataframe

我有一个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

1 个答案:

答案 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