Numpy函数(2)

import numpy as np
numpy 矩阵创建的方法:
#方法一:mat
matr1 = np.mat(“1 0 1;1 1 0;1 1 1”)
print(type(matr1))
print(matr1)
#方法二:matrix
matr2 = np.matrix([[1,2,3],[4,5,6],[7,8,9]])
#方法三:bmat
arr1 = np.eye(3)
arr2 = 3*arr1
print(‘创建的矩阵为:\n’, np.bmat(“arr1 arr2;arr2 arr1”))

矩阵的运算(针对所有元素的操作):
#1.乘以常数:
matr4 = matr12
print(matr4)
#2.加法/减运算
print(matr4+matr1)
print(matr4-matr1)
#3.乘法运算:
print(matr1
matr4)
#4.对应元素相乘:
print(np.multiply(matr4,matr1))
#5.矩阵属性
print(‘矩阵转置:\n’, matr1.T)
print(‘矩阵求逆:\n’, matr1.I)

ufunc 函数(通用函数)
##ufunc针对数组所有元素的运算
x = np.array([1, 6, 6])
y = np.array([4, 5, 6])

#1、数组四则运算:
print(x+y)
print(x-y)
print(x*y)
print(x/y)
print(x**y)

#2、数组比较运算:
print(x < y)
print(x > y)
print(x == y)
print(x <= y)
print(x >= y)
print(x != y)

#3、逻辑运算:
print(‘逻辑and运算:’, np.all(x==y))
print(‘逻辑or运算:’, np.any(x==y))

#4.广播机制:
一维的广播:
arr1 = np.array([[0,0,0],[1,1,1],[2,2,2],[3,3,3]])
print(arr1.shape)
print(arr1)
arr2 = np.array([1,2,3])
print(arr2.shape)
print(arr2)
print(arr1+arr2)

#二维广播;
arr3 = np.array([[0,0,0],[1,1,1],[2,2,2],[3,3,3]])
print(arr3)
arr4 = np.array([[1],[12],[1],[1]])
print(arr4)
print(arr3+arr4)

利用 numpy 进行文件读取
##1、读写文件
Numpy 的文件读写:二进制文件
arr1= np.arange(100).reshape(10,10)
arr2= np.arange(0,1,0.1)
##保存二进制文件
np.save(‘save_arr’, arr1)###npy 文件保存,一个数组的保存方法
data = np.savez(‘savez_arr’, arr1, arr2)## npz 文件保存,多个数组的保存方法
##读取二进制文件
arr2 = np.load(‘save_arr.npy’)
load_data = np.load(‘savez_arr.npz’)
print(load_data[‘arr_0’])
print(load_data[‘arr_1’])

#2.txt文件读取;
arr =np.arange(0, 12, 0.5).reshape(4, -1)##-1根据行数自动匹配列数,
print(arr)
##保存:
np.savetxt(“arr.txt”, arr, fmt=’%d’, delimiter=’,’)
##读取:
load_data = np.loadtxt(“arr.txt”, delimiter=’,’)
print(load_data)

numpy 简单的统计分析(排序与去重)

扫描二维码关注公众号,回复: 4791445 查看本文章

#1.排序
arr3 = np.random.randint(1, 10, size=10)
print(arr3)

##(1)直接排序:
arr3.sort()
print(‘排序后的数组为:’,arr3)

##(2)二维排序(按行,按列排序)
arr4 = np.random.randint(1, 10, size=(3,3))
print(arr4)
arr4.sort(axis = 0)##按列排序
print(arr4)

##(3)排序:argsort:返回重新排序后的下标;
arr = np.array([2, 3, 6, 8, 0, 7])
print(arr.argsort())

#2.去重:
names = np.array([‘小明’, ‘小旭’, ‘小刚’, ‘小明’, ‘小旭’])
print(‘去重之后的数组为:’, np.unique(names))

##3.重复:
#(1)tile :针对整个数组重复,不针对单独元素重复
print(‘重复后的数组names为:\n’, np.tile(names, 3))

#(2)repeat:主要针对元素重复:
arr = np.random.randint(0,10,size=(3,3))
print(arr)
print(arr.repeat(2, axis=0))##按行重复
print(arr.repeat(2, axis=1))##按列重复

常用统计函数

numpy中许多用于统计分析的函数:sum, mean, std(标准差),var(方差),min, max

##1、求和
arr = np.arange(20).reshape(4,5)
print(arr)
print(‘求总和:’, np.sum(arr))
print(‘按行求和:’, np.sum(arr, axis=1))
print(‘按列求和:’, np.sum(arr, axis=0))

##2、求均值:
print(‘求总均值:’, np.mean(arr))
print(‘按行2求均值:’, np.mean(arr, axis=1))
print(‘按列求均值:’, np.mean(arr, axis=0))

##3.求标准差:
print(‘总标准差’,np.std(arr))
print(‘按行求标准差’,np.std(arr, axis=1))
print(‘按列求标准差’,np.std(arr,axis=0))

##4.方差:
print(‘方差:’, np.var(arr))
print(‘按行求方差:’, np.var(arr,axis=1))
print(‘按列求方差:’, np.var(arr,axis=0))

##5.最小值:
print(np.min(arr))

##6.最大值:
print(np.max(arr))

##7.argmin()
print(np.argmin(arr))

##8.argmax()
print(np.argmax(arr))

##9累计和:
print(np.cumsum(arr))

##10.累计积
print(np.cumprod(arr))

猜你喜欢

转载自blog.csdn.net/weixin_42202547/article/details/85846554