NumPy介绍
NumPy是Python中科学计算的基础包。它Python库,提供多维数组对象,各种派生对象(如掩码数组和矩阵),以及用于数组快速操作的各种API,如包括数学,逻辑,形状操作,排序,选择,输入输出,离散傅里叶变换,基本线性代数,基本统计运算和随机模拟等等。
shape
将是 (n,m)
。因此,shape
元组的长度就是rank或维度的个数 ndim
。shape
的元素的乘积。float64
类型的数组的 itemsize
为8(=64/8),而 complex32
类型的数组的 itemsize
为4(=32/8)。它等于 ndarray.dtype.itemsize
。
import numpy as np import random a = np.array([[1., 7., 0.], [-2., 3., 3.], [-2., 1., 2.]], dtype=‘float64‘) b = np.array([[3., 2., 1.], [-5., 6., 2.], [2., -1., -2.]], dtype=‘float64‘) # 指定数据类型 print(a) # b = np.round(a, 3) # 构造小数,控制位数,约等于的意思 # print(b, ‘\n‘, round(random.random(),3)) # # print(‘类型‘, type(a)) # # print(‘维度数==>‘, a.ndim) #数组的维度数 # # print(‘维数==>‘, a.shape) #数组的维数 # # print(‘总数==>‘, a.size) #数组元素的总数 # # print(‘类型==>‘, a.dtype) #数组的类型 # # print(‘每个元素占有的字节大小==>‘, a.itemsize) #数组中每个元素占有的字节大小 # # print(‘缓存区==>‘, a.data) #数组元素的缓存区 # # # # print(a.T) # print(a.transpose()) # print(a.swapaxes(1, 0)) # 默认a.swapaxes(1, 0) # 转置 # print(‘取连续的多行,第二行,第一行,第三行‘) # print(a[[1, 0, 2]]) # # print(‘取连续多列‘) # print(a[:, 1:2]) # print(a < 0) # print(‘小于0的\n‘, a[a < 0]) # a[a < 0] = 3 # print(a) # 将a中小于0的数字替换为3 # b = np.where(a < 0, 1, 3) # 三元运算符,a小于0时,数字置为1,否则置为3 # print(b) # c = a.clip(0, 2) # 裁剪小于等于0的替换为0,大于等于2的变为2 # print(c) # c = np.vstack((a, b)) # print(c) # 竖直拼接,里面是元祖 # c = np.hstack((a, b)) # print(c) # 水平拼接,里面是元组 # a[[1, 2], :] = a[[2, 1], :] # print(a) # 数组行列交换 # c = np.argmax(a, axis=0) # print(c) # 获取列方向最大值位置 # c = np.argmin(a, axis=1) # print(c) # 获取行方向最小值位置 # c = np.zeros((3, 4)) # 0矩阵 # print(c) # c = np.ones((3, 4)) # 单位矩阵 # print(c) # c = np.eye(3) # print(c) # 创建一个对角线为为1的数组(方阵) # 随机数 np.random.seed(4) # 随机数种子,s是给定的种子值,因为计算机生成的是伪随机数,所以通过设定相同的随机数种子,可以每次生成相同的随机数 # 开启随机后,后面的随机数和上一次的一样 # c = np.random.rand(2, 3) # print(c) # 创建2行3列均匀分布随机数组,非点数,范围从0-1 # c = np.random.randn(2, 3) # print(c) # 创建3维标准正太分布随机数组,浮点数,平均数0,标准差1 # c = np.random.randint(1, 5, (2, 4)) # print(c) # 从给定上下限范围选取随机数证书,范围是1,5,形状是2行4列 # c = np.random.uniform(1, 4, (2, 4)) # 产生具有均匀分布的数组,1为起始值,4为结束值,2行4列 # c = np.random.normal(loc, scal, (size)) 从指定正态分布中随机抽取样本, # 分布中心是loc(概率分布的均值),标准差是scale,形状是size # print(type(np.nan)) # 表示非数字 # print(np.count_nonzero(a)) # 统计非零个数 # print(np.isnan(a)) # 显示是否为nan # print(np.sum(a)) # 求和,全部数字加起来 # print(np.sum(a, axis=0)) # 计算行方向,算每一列的和, # print(a.mean(axis=0)) # 计算每一列的均值 # print(np.median(a, axis=0)) # 计算每一列的中值 # print(np.min(a, axis=0)) # 计算每一列的最小值 # print(np.ptp(a, axis=0)) # 计算每一列的极值 # print(a.std(axis=0)) # 标准差
a = np.loadtxt(‘we.csv‘, dtype=np.float, delimiter=‘,‘, skiprows=0, usecols=None, unpack=False)
b = np.loadtxt(‘we.csv‘, dtype=np.float, delimiter=‘,‘, skiprows=0, usecols=None, unpack=True)
print(a, ‘\n‘, b)
# frame 文件,字符串或产生器,可以是.gz或bz2压缩文件
# dtype 数据类型,可选,csv的字符串以什么数据类型读入数组中,默认np.float
# delimiter 分隔字符串,默认是任何空格,改为逗号
# skiprows 跳过前面x行,一般跳过第一行表头
# usecols 读取指定的列,索引,元组类型
# unpack 如果True,读入属性将分别写入不同数组变量(数组转置),False读入数据只写入一个数组变量,默认False
a = np.array([[1., 7., 0.], [-2., 1., 2.]], dtype=‘float64‘)
# 转置
print(a.T)
print(a.transponse())
原文:https://www.cnblogs.com/superSmall/p/13178646.html