从SQL查询到Pandas(pd.NamedAgg())

9wbgstp7  于 2023-02-17  发布在  其他
关注(0)|答案(1)|浏览(136)

我想用pandas函数转换这个查询,但是我在使用由其他变量构造的变量时遇到了问题,例如var1。有人能帮我吗?
这是一个查询:

select
AVG(VAR_1),
AVG(VAR2+ VAR3) AS X,
1 - (SUM(VAR1)/SUM(VAR2)) AS Y,
AVG((VAR1) / ((VAR2/ 1.22) - VAR3)) AS Z
FROM data
group by id

这是我的Pandas功能不全

df = input.groupby(['ID'], as_index=False) \
                    .agg(VAR1 = pd.NamedAgg(column = 'VAR1', aggfunc='mean'),
                         X =  pd.NamedAgg(),
                         Y  = pd.NamedAgg(),
                         Z = pd.NamedAgg()
                    )

如何完成此功能?
谢谢

fumotvh3

fumotvh31#

使用pandasql

import pandas as pd
import pandasql as ps

df = pd.DataFrame('Define your fataframe')

q1 = """ <PLACE YOUR SQL QUERY HERE> """

print(ps.sqldf(q1, locals())) # or globals

相关问题