我正在查询返回特定列的表,根据这些列值,我需要通过检查条件来更新另一列。
如何在 sqlalchemy 查询中直接应用 qcut
?
可能吗?
我的四分位数阈值是:
2 -- A(updatable value)
4 -- B
5 -- C
10 --D
我有这样的查询
query=select([example_table.c.valueA,example_table.c.valueB])
它返回:
valueA valueB
5 3
6 2
1 2
3 10
我希望基于值 A 的输出添加另一个具有四分位数值的字段:
valueA valueB QuartileValueForA
5 3 C
6 2 D
1 2 A
3 10 B
是否可以通过qcut
实现?
最佳答案
您可以使用 pd.cut
执行此操作(而不是四分位数 qcut
):
In [11]: pd.cut(df['valueA'], [-np.inf, 2, 4, 5, 10, np.inf], labels=list("ABCDE"))
Out[11]:
0 C
1 D
2 A
3 B
Name: valueA, dtype: category
Categories (5, object): [A < B < C < D < E]
关于python - 如何在 python 中将 pandas.qcut 作为 sqlalchemy 查询的一部分应用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43905595/