需要numpy库和pandas库进行数据处理
numpy数组操作
1、numpy库概述
numpy库应用图如上
2、numpy库安装
3、ndarray概述
4、ndarray数组操作
(1)数组创建、属性
>>> import numpy as np
>>> a=[1,2,3,4]#创建简单的列表
>>> b=np.array(a)#将列表转换为数组
>>> b
array([1, 2, 3, 4])
>>> c=np.array([[1,2],[3,4]])
>>> c
array([[1, 2],
[3, 4]])
print("------------")
print(np.zeros((1,3)));
print(np.ones((3,3)));
print(np.ones((1,3)));
print(np.identity(3)); #E 3行3列的单位矩阵
print(np.random.rand(10))#创建1行10列的数组(每个值范围在0至1之间)
print(np.random.rand(10,10));#创建10行10列的数组(每个值范围在0至1之间)
print(np.random.uniform(0,100));#创建指定范围内的一个数
print(np.random.randint(0,100));#创建指定范围内的一个整数
print(np.random.randint(0,50,5));#创建指定范围内的 5个整数
print(np.random.randint(0,50,(3,5)));#创建指定范围内的 数组:3行5列个整数
print(np.random.normal(1.75,0.1,(2,3)));#给定均值/标准差/维度的正态分布
print(np.random.standard_normal(5))#从标准正态分布中随机采样5个数字
#数组属性
x=np.array([(1,2,3),(4,5,6)]);
print(x);
print(x.size);#数组的元素个数
print(x.ndim);#数组的维度
print(x.shape);#是 (?行?列)
print(x.itemsize);#数组元素字节大小
print(x.dtype,'\n');#数组元素类型
y=x.reshape(3,2);
print(y,'\n');
print(y.shape);
#------------------------------------
#数组和标量之间的运算 即给数组每个元素进行运算
arr=np.array([[1.,2.,3.],[4.,5.,6.]]);
print(arr);
print(1/arr);
print(arr-arr);
print(arr*arr);
print(arr**0.5);
(2)索引与切片
import numpy as np
arr=np.arange(10);#输出结果为[0 1 2 3 4 5 6 7 8 9]
print(arr);
print(arr[5]);
print(arr[5:8]);
arr[5:8]=12;
print(arr);
arr_slice=arr[5:8];##切片 :左闭右开
print(arr_slice);
arr_slice[1]=12345;
print(arr);
arr_slice[:]=64;
print(arr);
>>> import numpy as np
>>> arr3d=np.array([[[1,2,3],[4,5,6]],[[7,8,9],[10,11,12]]]);
>>> print(arr3d);
[[[ 1 2 3]
[ 4 5 6]]
[[ 7 8 9]
[10 11 12]]]
>>> print(arr3d[0]);
[[1 2 3]
[4 5 6]]
>>> arr3d[0][1]
array([4, 5, 6])
>>> print(arr3d[0][1]);
[4 5 6]
(3)数学统计
import numpy as np
array=np.random.randn(5,4);#5行4列 正态分布的数据
print(array);
print(array.mean());#求平均值
print(np.mean(array));#求平均值 和上一行相等
print(array.sum(),'\n');
print(array.mean(axis=0));#按列 求列的平均
print(array.mean(axis=1));#按行 求行的平均
print(array.sum(0));#按列 求和
print(array[0]);#显示第一行
print(np.array(array[0]).mean());#求第一行的平均
import numpy as np
arr2=np.array([[0,1,2],[3,4,5],[6,7,8]]);
print( arr2.cumsum(0) );
print( arr2.cumprod(1) );
arr2=np.array([[0,1,2],[3,4,5],[6,7,8]]);
print( arr2.cumsum(0) );#原本元素值 加上上行对应位置的值{加完后的值}
print( arr2.cumprod(1) );#原本元素值 乘上上列对应位置的值(乘完后的值)