pythonsumaxis
① python求和
師傅領進門修行在個人、還是要多查資料多動手聯系呀
idxn=["A","B","C","D"]
cols=['YuWen','Shuxue','Yingyu','Lishi']
dfd_qz={"YuWen":[98,95,95,89],
"Shuxue":[99,96,78,77],
"Yingyu":[90,88,98,99],
"Lishi":[95,79,92,90]}
dfd_qm={"YuWen":[98,95,95,89],
"Shuxue":[99,96,78,77],
"Yingyu":[90,88,98,99],
"Lishi":[95,79,92,90]}
importpandasaspd
df1_qizhong=pd.DataFrame(dfd_qz,index=idxn,columns=cols)
df2_qimo=pd.DataFrame(dfd_qm,index=idxn,columns=cols)
print("如下表格依次為<期中>和<期末>成績表:")
print(df1_qizhong)
print(df2_qimo)
print("如下順序為<期中>和<期末>學生總成績:")
print(df2_qimo.sum(axis=1))
print(df2_qimo.sum(axis=1))
print("如下順序為<期中>和<期末>學生平均成績:")
print(df2_qimo.mean(axis=1))
print(df2_qimo.mean(axis=1))
② Python中的sum為什麼返回的還是數組
Python中的sum函數,無第二參數時,返回的是數值不是數組,數值為參數1中的數組或其它可迭代對象的全加之和。
在下列幾種情況下,sum函數返回數組:(Python 3版本)
使用了第二參數為axis=0,並且參數1是二維對象,則按列相加並返回數組;
使用了第二參數為axis=1,並且參數1是二維對象,則按行相加並返回數組;
導入了Numpy模塊,並使用了Numpy中的sum函數,並且參數1是二維對象,則默認就是axis=0,即按列相加並返回數組;
importnumpyasnp
#python中自帶的sum
sum([[1,2,3],[4,5,5]])#返回數值20
sum([[1,2,3],[4,5,5]],axis=0)#返回數組[578]
sum([[1,2,3],[4,5,5]],axis=1)#返回數組[614]
#Numpy中的sum
a=np.sum([[1,2,3],[4,5,5]])#返回數組[578]
註:NumPy是Python的一種開源的數值計算擴展。
③ python中怎樣對多維數組的某一維求和,放在新的數組中
在Python中,一個像這樣的多維表格可以通過「序列的序列」實現。一個表格是行的序列。每一行又是獨立單元格的序列。這類似於我們使用的數學記號,在數學里我們用Ai,j,而在Python里我們使用A[i][j],代表矩陣的第i行第j列。 這看起來非常像「元組的...
④ python axis=0是代表的行還是列
axis=0表示數組的第0軸,因為h本來就只包含1列,你直接做數組運算一下x.sum()就知道了。
⑤ Python,的numpy模塊中有沒有 階乘函數
有階乘函數,Numpy中,mat必須是2維的,但是array可以是多維的(1D,2D,3D····ND). Matrix是Array的一個小的分支,包含於Array。所以matrix 擁有array的所有特性。
在numpy中matrix的主要優勢是:相對簡單的乘法運算符號。例如,a和b是兩個matrices,那麼a*b,就是矩陣積。
若a=mat([1,2,3])是矩陣,則 a.A 則轉換成了數組,反之,a.M則轉換成了矩陣。
(5)pythonsumaxis擴展閱讀:
常用的Numpy運算:
取矩陣中的某一行ss[1,:]或該行的某兩列ss[1,0:2]
將數組轉換成矩陣randMat=mat(random.rand(4,4))
矩陣求逆randMat.I
單位陣eye(4)
零矩陣zeros((x,y))建立x行y列的零矩陣。
最大值和最小值a.max(),a.min(),而a.max(0)表示按列選取每列的最大值。最大/小元素的下標a.argmax(),a.argmin()
#作為方法x.sum() #所有元素相加x.sum(axis=0) #按列相加x.sum(axis=1) #按行相加#作為函數sum(a,axis=0)ss.mean()
mean(a,axis=0(或1)) #按列或行求均值var(a)var(a,axis=0(或1)) #按列或行求方差。
std(a)std(a,axis=0(或1)) #按列或行求標准差ss.T或ss.transpose() #轉置。
⑥ Python怎麼生成三維數
給個例子看看
⑦ python的矩陣可以做什麼
python的numpy庫提供矩陣運算的功能,因此我們在需要矩陣運算的時候,需要導入numpy的包。
計算矩陣對應行列的最大、最小值、和。
3>>>a1=mat([[1,1],[2,3],[4,2]])
>>> a1
matrix([[1, 1],
[2, 3],
[4, 2]])
計算每一列、行的和
>>>a2=a1.sum(axis=0) #列和,這里得到的是1*2的矩陣
>>> a2
matrix([[7, 6]])
>>>a3=a1.sum(axis=1) #行和,這里得到的是3*1的矩陣
>>> a3
matrix([[2],
[5],
[6]])
>>>a4=sum(a1[1,:]) #計算第一行所有列的和,這里得到的是一個數值
>>> a4
5 #第0行:1+1;第2行:2+3;第3行:4+2
計算最大、最小值和索引
>>>a1.max() #計算a1矩陣中所有元素的最大值,這里得到的結果是一個數值
4
>>>a2=max(a1[:,1]) #計算第二列的最大值,這里得到的是一個1*1的矩陣
>>> a2
matrix([[3]])
>>>a1[1,:].max() #計算第二行的最大值,這里得到的是一個一個數值
3
>>>np.max(a1,0) #計算所有列的最大值,這里使用的是numpy中的max函數
matrix([[4, 3]])
>>>np.max(a1,1) #計算所有行的最大值,這里得到是一個矩陣
matrix([[1],
[3],
[4]])
>>>np.argmax(a1,0) #計算所有列的最大值對應在該列中的索引
matrix([[2, 1]])
>>>np.argmax(a1[1,:]) #計算第二行中最大值對應在該行的索引
1
⑧ 怎麼用python進行數據
pandas是本書後續內容的首選庫。pandas可以滿足以下需求:
具備按軸自動或顯式數據對齊功能的數據結構。這可以防止許多由於數據未對齊以及來自不同數據源(索引方式不同)的數據而導致的常見錯誤。.
集成時間序列功能
既能處理時間序列數據也能處理非時間序列數據的數據結構
數學運算和簡約(比如對某個軸求和)可以根據不同的元數據(軸編號)執行
靈活處理缺失數據
合並及其他出現在常見資料庫(例如基於SQL的)中的關系型運算
- #-*- encoding:utf-8 -*-import numpy as npimport osimport pandas as pdfrom pandas import Series,DataFrameimport matplotlib.pyplot as pltimport time#下面看一下cummin函數#注意:這里的cummin函數是截止到目前為止的最小值,而不是加和以後的最小值frame = DataFrame([[1,2,3,4],[5,6,7,8],[-10,11,12,-13]],index = list('abc'),columns = ['one','two','three','four'])print frame.cummin()print frame
- >>>
- one two three four
- a 1 2 3 4
- b 1 2 3 4
- c -10 2 3 -13
- one two three four
- a 1 2 3 4
- b 5 6 7 8
- c -10 11 12 -13
1、pandas數據結構介紹
兩個數據結構:Series和DataFrame。Series是一種類似於以為NumPy數組的對象,它由一組數據(各種NumPy數據類型)和與之相關的一組數據標簽(即索引)組成的。可以用index和values分別規定索引和值。如果不規定索引,會自動創建 0 到 N-1 索引。
相關系數與協方差
有些匯總
⑨ python數組求和
在數組和矩陣中使用sum: 對數組b和矩陣c,代碼b.sum(),np.sum(b),c.sum(),np.sum(c)都能將b、c中的所有元素求和並返回單個數值。
但是對於二維數組b,代碼b.sum(axis=0)指定對數組b對每列求和,b.sum(axis=1)是對每行求和,返回的都是一維數組(維度降了一維)。
而對應矩陣c,c.sum(axis=0)和c.sum(axis=1)也能實現對列和行的求和,但是返回結果仍是二維矩陣。
# 定義函數,arr 為數組,n 為數組長度,可作為備用參數,這里沒有用到。
def_sum(arr,n):
# 使用內置的 sum 函數計算。
return(sum(arr))
# 調用函數
arr=[]
# 數組元素
arr=[12,3,4,15]
# 計算數組元素的長度
n=len(arr)
ans=_sum(arr,n)
# 輸出結果
print('數組元素之和為',ans)
(9)pythonsumaxis擴展閱讀:
python數組使用:
python 數組支持所有list操作,包括 .pop、.insert 和 .extend。另外,數組還提供從文件,讀取和存入文件的更快的方法,列如如 .frombytes 和 .tofile,如下所示我們定義一個數組。
from array import arrayarr=array('d',(a for a in range(5)))print(arr)。
arr=array('d',(a for a in range(5)))從這個代碼中可以看出,一個數組的定義需要傳入的不只是值還有類型。
可以是(must be c, b, B, u, h, H, i, I, l, L, f or d)。
⑩ Python中Numpy庫中的np.sum怎麼理解
c = np.array([[[0, 1, 2,3],
[4, 5, 6,7]],
[[1, 2, 3,4],
[5,6,7,8]]]
print( c.sum(axis=0))
print( c.sum(axis=1))
print( c.sum(axis=2))
一個不是很簡單,但是很好理解的方法是:你的輸入矩陣的shape是(2,2,4),那麼當axis=0時,就是在第一個dimension上進行求和,最後得到的結果的shape就是去掉第一個dimension後的shape,也就是(2,4)。具體的計算方法則是,對於c[i,j,k],假設輸出矩陣為s[j,k],第一個dimension求和那麼就是
s[j,k]=∑i(c[i,j,k])
如果axis=1,那麼輸出shape就是去掉第二個dim,也就是(2,4),計算是 s[i,k]=sumj(c[i,j,k])
如果axis=2,那麼輸出shape就是去掉第三個dim,也就是(2,2),計算是 s[i,j]=sumk(c[i,j,k])
在數據處理裡面經常會碰到高維數據,通過二維矩陣去想它的計算方法就很難了,這個時候只要按axis對應的維度求和,其他維度的位置和形狀不變,最後把shape去掉對應維度就能理解了