python数据分析numpy库学习

import numpy as np 
def asum(a_list,b_list,n1=2,n2=3):
    a = np.array(a_list)
    b = np.array(b_list)
    c = pow(a,n1) + pow(b,n2)
    return c

a_lst = [1,2,3,4]
b_lst = [2,3,4,5]
print(asum(a_lst,b_lst))

#np.array()生成数据对象ndarray
a = np.array([[1,2,3,4],[1,2,3,4]])
print(type(a)) #<class 'numpy.ndarray'>
print(a)
print(a.ndim)#轴数
print(a.shape) #(2,4)2行4列
print(a.size) #总元素数
print(a.itemsize) #元素大小
print(a.dtype) #int32,元素类型

print(np.arange(10))
print(np.ones((3,3),dtype=np.float32)) #生成三行三列都是1的矩阵
print(np.ones([4,3],dtype=np.int32)) #同上4行3列,列表类型参数也行
print(np.zeros((2,3))) #两行三列0
print(np.full((3,3),6)) #3行3列都是6
print(np.eye(6)) #对角线是1,6行6列方形矩阵
#生成多维数组
print(np.ones((2,3,4),dtype=np.int32)) 

#模仿列表形状生成都为0的矩阵
print(np.zeros_like([[2,3,4,5],[3,4,5,6],[0,0,0,0]]))
#模仿列表形状生成都为1的矩阵
print(np.ones_like([[2,3,4,5],[3,4,5,6],[0,0,0,0]]))
#模仿列表形状生成都为10的矩阵
print(np.full_like([[2,3,4,5],[3,4,5,6],[0,0,0,0]],10))
#生成四个元素起点1终点10,平均分成三块
print(np.linspace(1,10,4)) 
#不包含10的四个元素,就需要将蛋糕分成四块
print(np.linspace(1,10,4,endpoint=False))
#将两个数组合并
a = np.linspace(1,10,4)
b = np.linspace(1,10,4,endpoint=False)
c = np.concatenate((a,b))
print(c) #[ 1.    4.    7.   10.    1.    3.25  5.5   7.75]
#reshape
a = np.ones((2,3,4),dtype=np.int32)
print(a)
c = a.reshape((3,8)) #不改变原数组
print(c)
print(a)
a.resize((3,8)) #改变原数组a
print(a)
#fatten降维数组
a.flatten()
print(a) #没改变
d = a.flatten() #在新数组基础上修改的
print(d) 

#astype()数组元组类型转换
a = np.ones((2,3,4),dtype=np.int)
print(a)
b = a.astype(np.float) #复制新数据然后改变类型
print(b)

#数据向列表转换.tolist()
a = np.full((2,3,4),25,dtype = np.int32 )
print(a)
print(a.tolist()) #在新数组基础上改变
print(a)#原数组不变

#数组切片
a = np.array([1,2,3,4,5,6])
print(a[2])
print(a[1:4:2]) #起始编号都不包含

a = np.arange(24)
print(a)
a.resize((3,2,4))
print(a)
print(a[2,1,3]) #最外第3行,内部2行,里面第4个元素
print(a[-2,-1,-3])
print(a[:,1,-3])
print(a[:,1:2,:])
print(a[:,:,::2])

b = np.arange(48).reshape(3,4,4)
print(b)
#矩阵的平均值
print(a.mean())
print(np.arange(2).mean()) #0.5
#a除以平均值
a = a / a.mean()
print(a)

#一元函数,平方
a = np.arange(24).reshape(2,3,4)
print(a)
a = np.square(a)
print(a)

#平方根
a = np.arange(24).reshape(2,3,4)
a = np.sqrt(a)
print(a)
#整数和小数部分剥离
print(np.modf(a)) #两个矩阵,第一个矩阵是小数部分,第二个矩阵是整数部分

#二元函数实例,两个矩阵
a = np.arange(24).reshape(2,3,4)
b = np.sqrt(a)
print(a)
print(b)
print(np.maximum(a,b)) #两个矩阵数据类型不同,取浮点型
print(a>b)

猜你喜欢

转载自www.cnblogs.com/chxb/p/11517994.html