如何将这段PostgreSQL查询转换为Pandas代码?
解决方案
你的PostgreSQL语句里的::numeric/60逻辑,核心是先计算_cluster列的平均值,再将结果除以60,最后保留1位小数。::numeric是PostgreSQL的类型转换语法,用来确保除法运算的精度,但在Pandas中,数值列的平均值本身就是浮点型,无需额外转换,直接执行除法即可。
修正后的Pandas代码:
df['avg_gat'] = round(df['_cluster'].mean() / 60, 1)
逐部分对应说明:
df['_cluster'].mean():对应PostgreSQL的avg(_cluster),计算列的平均值/ 60:对应SQL中的/60,将平均值除以60round(..., 1):对应round(...,1),将结果四舍五入保留1位小数
这样就能完全复现原SQL语句的逻辑了。
内容的提问来源于stack exchange,提问作者user7446890
相关产品推荐
相关产品推荐

