pandas學習筆記(一)
阿新 • • 發佈:2020-12-15
pandas學習筆記(一) ——預備知識
在pandas的學習過程中,寫下此類學習筆記來記錄自己的學習歷程以及錯誤。希望各位pandas大佬可以指出我的問題。
1.numpy板塊:
reshape():
reshape(Dimension,row,list):
reshape函式是指對np陣列進行變換,通常reshape中的引數分別為:Dimension(維度)、row(行)、list(列),通常情況下,Dimension的值為1。
import numpy as np a = np.linspace(1,24,24).reshape(6,4) a Out[41]: array([[ 1., 2., 3., 4.], [ 5., 6., 7., 8.], [ 9., 10., 11., 12.], [13., 14., 15., 16.], [17., 18., 19., 20.], [21., 22., 23., 24.]])
reshape(row,-1):
當list=-1時,即自動計算list,list=(陣列或者矩陣裡面所有元素的個數)/row
a.reshape(12,-1) Out[42]: array([[ 1., 2.], [ 3., 4.], [ 5., 6.], [ 7., 8.], [ 9., 10.], [11., 12.], [13., 14.], [15., 16.], [17., 18.], [19., 20.], [21., 22.], [23., 24.]])
reshape(-1,list):
同理,row=-1時,即自動計算row,row=(陣列或者矩陣裡面所有元素的個數)/list
a.reshape(-1,12)
Out[43]:
array([[ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12.],
[13., 14., 15., 16., 17., 18., 19., 20., 21., 22., 23., 24.]])
reshape(-1):
將陣列或者矩陣以單行的形式輸出
a.reshape(-1) Out[44]: array([ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14., 15., 16., 17., 18., 19., 20., 21., 22., 23., 24.])
nonzero():
nonzero
返回非零數的索引
二維陣列:
a = np.array([-2,-5,0,1,3,-1])
np.nonzero(a)
Out[5]: (array([0, 1, 3, 4, 5], dtype=int64),)
a = np.array([[-2,-5,0,1,3,-1],[-7,-6,-4,5,4,8]])
a
Out[10]:
array([[-2, -5, 0, 1, 3, -1],
[-7, -6, -4, 5, 4, 8]])
np.nonzero(a)
Out[11]:
(array([0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1], dtype=int64),
array([0, 1, 3, 4, 5, 0, 1, 2, 3, 4, 5], dtype=int64)) # nonzero所返回的值即非零數的行列值
三維陣列;
a = np.array([[[-2,-5,0,1,3,-1],[-7,-6,-4,5,4,8]],[[4,-6,-8,5,2,-1],[-11,-45,2,8,5,6]]])
np.nonzero(a)
Out[15]:
(array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1], dtype=int64),
array([0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1,
1], dtype=int64),
array([0, 1, 3, 4, 5, 0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4,
5], dtype=int64)) # 三維陣列nonzero所返回的值,是陣列中非零元素所在的維度、行、列的值