pandas学习笔记(一)
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所返回的值,是数组中非零元素所在的维度、行、列的值