numpy基础
一、基础知识
1、安装
conda install numpy
2、什么是numpy?
Python中做科学计算的基础库,重在数值计算
二、创建数组
import numpy as np # 方式一 np.array([1, 2, 3, 4, 5]) # 方式二 np.array(range(5)) # 方式三 np.arange(5)
注意:数组的类型
<class 'numpy.ndarray'>
三、数据类型
1、常见数据类型
类型 类型代码 说明
int8、uint8 i1、 u1 有符号和无符号的8位整型
int16、unint16 i2、 u2 有符号和无符号的16位整型
int32、unint32 i4、 u4 有符号和无符号的32位整型
int64、unint64 i8、 u8 有符号和无符号的64位整型
float16 f2 半精度浮点数
float32 f4或f 单精度浮点数,与C的float兼容
float64 f8或d 双精度浮点数,与C的double和python的float对象兼容
float128 f16或g 扩展精度浮点数
complex64 c8 32位浮点数表示的复数
complex128 c16 64位浮点数表示的复数
complex256 c32 64位浮点数表示的复数
bool ? 存储True和False值的布尔类型
2、查看数据类型
arr3 = np.arange(10) print(arr3.dtype)
3、指定数据类型
np.array(dtype=数据类型)
例子
arr2 = np.array(range(10), dtype=float) print(arr2.dtype)
arr2 = np.array(range(10), dtype=bool) print(arr2.dtype) print(arr2)
4、修改数据类型
new_arr = arr.astype(类型)
注意:修改数据类型要重新赋值
# 指定数据类型为int64 arr2 = np.array(range(10), dtype=np.int64) print(arr2.dtype) print(arr2) print("=" * 30) # 修改数据类型为bool new_arr2 = arr2.astype(bool) print(new_arr2.dtype) print(new_arr2)
5、保留固定位数的小数
new_arr = np.round(保留位数)
注意:保留固定位数的小数,是生成新的数组,需要重新赋值
例子
import numpy as np import random arr1 = np.array([random.random() for i in range(10)]) arr2 = np.round(arr1, 2) print(arr2)
三、数组的形状
1、查看数组的shape
import numpy as np arr1 = np.arange(12) print(arr1) # 获取数组的形状 print(arr1.shape)
2、设置数组的shape
import numpy as np arr1 = np.arange(12) print(arr1) # 获取数组的形状 print(arr1.shape) print('=' * 20) # 设置数组的形状 arr2 = arr1.reshape((3, 4)) print(arr2) print(arr2.shape)
3、将数组转换成1维数组
flatten 使...展平
import numpy as np arr1 = np.arange(12).reshape(3, 4) print(arr1) # low方法 arr2 = arr1.reshape(arr1.shape[0] * arr1.shape[1], ) print(arr2) # 简便方法 arr3 = arr1.flatten() print(arr3)