python - 如何在 python 中将 pandas.qcut 作为 sqlalchemy 查询的一部分应用?

标签 python mysql pandas dataframe sqlalchemy

我正在查询返回特定列的表,根据这些列值,我需要通过检查条件来更新另一列。
如何在 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/

相关文章:

mysql - 设置 sphinx 搜索的列优先级

mysql - 三个表之间的 SQL 查询 - 哪个连接?

python - Polars/Python 限制打印表输出行数

python - 如何创建自己的要在 python 中删除的标点符号列表

python - 基于多列值映射值和合并数据帧

python - pip在Mac中给出错误 "pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available."

python - 如何跟踪 Redis 中某个用户完成的 Celery 请求数?

python - 相当于python中grep -B的代码是什么?

python - Mavericks Python 3.4 pip 安装报错

MySQL - 将值求和到唯一 ID