因为我发现自己经常在熊猫中键入以下模式
(dataframe['colA'] / dataframe['colB']).describe()
我正在尝试使用更简洁的查询功能来做到这一点。
dataframe.query("colA / colB").describe()
不幸的是,以上用法不起作用。 有什么建议可以使其正常工作吗?
答案 0 :(得分:3)
您不能为此使用query
。
另一方面,您可以使用eval
:
In [63]: df = pd.DataFrame({"colA": [1,2,3], "colB": [3,4,5]})
In [64]: df.eval("colA / colB")
Out[64]:
0 0.333333
1 0.500000
2 0.600000
dtype: float64
In [65]: df.eval("colA / colB").describe()
Out[65]:
count 3.000000
mean 0.477778
std 0.134715
min 0.333333
25% 0.416667
50% 0.500000
75% 0.550000
max 0.600000
dtype: float64
但是,老实说,我认为这种模式并不像您认为的那样方便。 YMMV,当然。