Pandas.query,定义一个变量

时间:2018-05-25 11:48:27

标签: python pandas

在这个例子中,我想从数据帧中选择日期值超过7440的所有值。然而,由于我收到“dv未定义”,它在下面的代码中不起作用。那么我如何在pandas数据帧中定义它。任何帮助都会很棒。

dv = 7440
values = df.query('datevalue > dv' and country = "usa"')

1 个答案:

答案 0 :(得分:1)

为变量添加@并将=更改为加倍==以进行比较相等:

df = pd.DataFrame({'country':['usa','canada','slovakia','nepal'],
                   'datevalue':[7800,8440,10000,50000]})

print (df)
    country  datevalue
0       usa       7800
1    canada       8440
2  slovakia      10000
3     nepal      50000

dv = 7440
values = df.query('datevalue > @dv and country == "usa"')
print (values)
  country  datevalue
0     usa       7800