NUMPY模块
NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。即快速, 方便的科学计算基础库(主要时数值的计算, 多维数组的运算);
数组:存储的时同一种数据类型;
****主要适用于对数字类型进行运用
创建数组以及设置数组的数据类型
import numpy as np
# 1. numpy中如何创建数组(矩阵)?
# 方法1:
a=np.array([1,2,3,4])
b=np.array([2,3,4,6])
print(a+b)
#这个时候数组的相加为对应元素相加
#方法2:
c1 = np.arange(1,6)
print(c1)
# 数组的类名: numpy.ndarray
print(type(c1))
# 查看数据元素的类型
print(c1.dtype)
# 2. 修改数组的数据类型
print(c1.astype('float'))
print(c1.astype('bool'))
print(c1.astype('?')) # ?是bool类型的代号;
# 创建的时候指定数据类型
print(np.array([1,2,3,4], dtype=np.float))
# 3. 修改浮点数的小数位数
c3 = np.array([1.234556, 3.45464456, 5.645657567])
print(np.round(c3, 2))
numpy读取csv文件(逗号分隔符文件)
import numpy as np
fname='doc/student.txt'
dtype=np.dtype([('gender', '|S1'), ('height', 'f2')])
# fname: 文件的名称, 可以是文件名, 也可以是ugz或者bz2的压缩文件;
# dtype: 数据类型, 可选, 默认是float;
# delimiter: 分隔符字符串, 默认情况是任何的空格,
# skiprows: 跳过前xx行, 一般情况跳过第一行;
# usecols: 读取指定的列, 可以是元组;
# unpack: 如果为True, 对返回的数组对象转置;
date=np.loadtxt(fname=fname,dtype=dtype,skiprows=9,usecols=(1,3),unpack=True)
print(date)
numpy数组的转置
import numpy as np
# 将一维数组转换为3行4列的二维数组
data = np.arange(12).reshape((3, 4))
print('data\n',data)
#进行行列转置
#1.)直接转换
print('data转换1:\n',data.transpose())
# 2). 0轴 , 1 轴
# - 轴的理解(axis): 0轴, 1轴, 2轴
# - 一维数组: [1,2,3,45] ----0轴
# - 二维数组: [[1,2,3,45], [1,2,3,45]] ----0轴, 1轴,
print('data转换2:\n',data.swapaxes(1, 0))
#3).numpy内置方法
print('data转换3:\n',data.T)
numpy的索引和切片
import numpy as np
# 将一维数组转换为3行4列的二维数组
data = np.arange(12).reshape((3, 4))
print(data)
# 取第一行的数据
print('第一行的数据\n',data[0])
# 取第一列的数据
print('第一列的数据\n',data.T[0])
print('第二列的数据\n',data[:, 1])
# 获取多行
print('前两行\n',data[:2])
# 获取多行列
print('每行前两列\n',data.T[:2])
print('每行前两列\n',data[:, :2])
# 获取指定行的前几列;
print('指定1,3行的前2列\n',data[[0,2], :2])
print('指定前两行的1,3列\n',data[:2, [0,2]])