笔记说明:本文是我的学习笔记,大部分内容整理自 黄红梅,张良均等.Python数据分析与应用[M].北京:人民邮电出版社,2018,21-49. 还有部分片断知识来自网络搜索补充。
1.数组对象ndarray
1.1创建数组类型
1.1.1数组属性
- ndim:返回int,表示数组的维度。
- shape:返回tuple,表示数组的尺寸,比如n行m列的矩阵,表示为(n,m)。
- size:返回int,表示数组的元素总数,等于数组形状的乘积。
- dtype:返回data-type你描述数组中的元素类型。
- itemsize:返回int,表示数组的每个元素的大小(字节为单位)。
1.1.2数组创建
numpy.array(object,dtype=None,ndmin=None)
import numpy as np
arr1=np.array([[1,2,3,4],[4,5,6,7]])
print(arr1)
arr1.shape=4,2 ##不是转置,只是改变排列,数组顺序不变,看结果!很直观
print(arr1)
##一些内置函数创建数组
np.arange(0,7.5,0.5) ## 等差为0.5
np.linspace(0,7,8) ## [0,7]区间生成8个元素的等差数列
np.logspace(0,1,3) ##[10^0,10^1]区间生成3各元素的等比数列
np.zeros((2,3)) ##生成(2,3)的0数组
np.eye(3) ##生成主对角线为1的类似单位矩阵的数组
np.diag([1,2,3,4]) ##主对角数组
np.ones((5,3)) ##生成全为1的数组
1.2生成随机数
import numpy as np
np.random函数具有以下模块:
- random(100):0~1之间的额100个随机数
- rand(2,3):均匀分布的随机数
- randn():标准正态分布
- randint(low,high,size):整数范围的随机数
- binomial:二项分布
- normal(loc=“均值”,scale=“方差”,size):正态分布
- Shuffle:对一个序列随机排序
- choice(a,size,p):对a按照概率(权重)为p进行随机选取尺寸为size的的数据
- beta:贝塔分布
- chisquare:卡方分布
- gamma:伽马分布
- sample:简单随机抽样
- seed:设置随机种子
- RandomState:随机数种子
- 相同处: 他们的参数都是随机数seed不同处: numpy.random.RandomState()更为复杂,完全可以代替numpy.random.seed()这条语句。
随机数种子seed只有一次有效,在下一次调用产生随机数函数前没有设置seed,则还是产生随机数。
但是RandomState不是这样的,由于使用方式不同,直接限制会产生同样的随机数。
## 上个栗子!
from numpy.random import RandomState
rdm = RandomState(123)
a = rdm