什么是numpy?
快速, 方便的科学计算基础库(主要是数值的计算, 多维数组的运算);
数组和列表的区别
- 数组: 存储的时同一种数据类型;
- list:容器, 可以存储任意数据类型;
- 数组是一种特殊的列表
numpy的操作
1. numpy中如何创建数组(矩阵)?
方法一:
# 导入模块时通常将模块起作np别名
import numpy as np
a=np.array([1,2,3,4,5])
b=np.array(range(1,6))
print(a,b)
方法二:
import numpy as np
c=np.arange(1,6)
print(c)
# 数组的类名: numpy.ndarray
print(type(c))
# 查看数据元素的类型
print(c.dtype)
2. 修改数组的数据类型
print(c.astype('float'))
print(c.astype('bool'))
print(c.astype('?')) # ?是bool类型的代号;
# 创建的时候指定数据类型
print(np.array([1,2,3,4], dtype=np.float))
3. 修改浮点数的小数位数
a=np.array([1.2344435,4.45634562,8.23423525])
print(np.round(a,4))
numpy读取数据
csv格式的文件是以逗号分隔开,但起始广义上,只要是以相同符号分隔的文件都叫做csv文件,
因此,在numpy读取csv格式的数据时,可以根据行、列来获取需要的数据。
import numpy as np
fname = "doc/eg6-a-student-data.txt"
dtype = np.dtype([('gender', '|S1'), ('height', 'f2')])
# fname: 文件的名称, 可以是文件名, 也可以是ugz或者bz2的压缩文件;
# dtype: 数据类型, 可选, 默认是float;
# delimiter: 分隔符字符串, 默认情况是任何的空格,
# skiprows: 跳过前xx行, 一般情况跳过第一行;
# usecols: 读取指定的列, 可以是元组;
# unpack: 如果为True, 对返回的数组对象转置;
data = np.loadtxt(fname=fname, dtype=dtype, skiprows=9, usecols=(1, 3), unpack=True)
print(data)
numpy数组的转置
# 将一维数组转换为3行4列的二维数组
data = np.arange(12).reshape((3, 4))
print(data)
# 1).
print(data.transpose())
# 2). 0轴 , 1 轴
print(data.swapaxes(1, 0))
# 3).
print(data.T)
numpy的索引和切片
import numpy as np
# 将一维数组转换为3行4列的二维数组
data = np.arange(12).reshape((3, 4))
print(data)
# 取第一行的数据
print(data[0])
# 取第一列的数据
print(data.T[0])
print(data[:, 1])
# 获取多行
prin