我正在嘗試將 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)
我怎樣才能將其轉換為等效的熊貓?
uj5u.com熱心網友回復:
如果我理解你的問題,你想得到每個總和 x、y、z、r、t 的總和?
如果是的話
m=sum((sum(x),sum(y),sum(z),sum(r),sum(t)))
uj5u.com熱心網友回復:
嘗試:
m=sum([sum(x),sum(y),sum(z),sum(r),sum(t)])
sum()迭代串列和總和中的所有元素。
uj5u.com熱心網友回復:
嗯 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), ..))
uj5u.com熱心網友回復:
這是等效的熊貓
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()
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/491964.html
標籤:Python sql python-3.x 熊猫 数据框
