Python sum()将SQL查询转换为Pandas错误



我正在尝试将SQL查询转换为等效的python pandas。我的SQL数据是

x=(2.2,2.2,2.2,2.2,2.2)
y=(3.3,3.3,3.3,3.3,3.3)
z=(4.4,4.4,4.4,4.4,4.4)
r=(5.5,5.5,5.5,5.5,5.5)
t=(6.6,6.6,6.6,6.6,6.6)

, SQL查询为:

select sum(sum(x),sum(y),sum(z),
sum(r),sum(t)) into :m
from _fx_ght;

我已经创建了Python代码来将SQL查询转换为pandas:

x=(2.2,2.2,2.2,2.2,2.2)
y=(3.3,3.3,3.3,3.3,3.3)
z=(4.4,4.4,4.4,4.4,4.4)
r=(5.5,5.5,5.5,5.5,5.5)
t=(6.6,6.6,6.6,6.6,6.6)
m=sum(sum(x),sum(y),sum(z),sum(r),sum(t))
print(m)

在执行代码时,我得到一个错误,显示:

Traceback (most recent call last):
File "./prog.py", line 9, in <module>
TypeError: sum() takes at most 2 arguments (5 given)

我如何将其转换为等效的熊猫?

如果我理解你的问题,你想得到每个x,y,z,r,t的总和?
如果是,则

m=sum((sum(x),sum(y),sum(z),sum(r),sum(t)))  

尝试:

m=sum([sum(x),sum(y),sum(z),sum(r),sum(t)])

sum()遍历list和sum中的所有元素。

hmm sum不是这样工作的,您必须将单个和放入另一个数组中例如:

sum_tot = None
sum_arr_list = [x,y,z,r,t]
def sum_arr(array):
return sum(array)
for item in sum_arr_list:
sum_tot += sum_arr(item)
m = sum_tot

有更好的方法来做到这一点或者像下面这样,把它放在sum

内的元组中m = sum((sum(x), ..))

这里是等效的pandas

import pandas as pd
df=pd.DataFrame({"x":[2.2,2.2,2.2,2.2,2.2],
"y":[3.3,3.3,3.3,3.3,3.3],
"z":[4.4,4.4,4.4,4.4,4.4],
"r":[5.5,5.5,5.5,5.5,5.5],
"t":[6.6,6.6,6.6,6.6,6.6]})

m=df.sum().sum()

最新更新