1.python基础
6种标准数据类型:Number(数字),String(字符串),List(列表),Tuple(元组),Set(集合),Dictionary(字典)。
其中,Number(数字),String(字符串),Tuple(元组)为不可变数据。List(列表),Set(集合),Dictionary(字典)为可变数据。
1.1.List[列表]
list=[1,2,3,4,5]
根据位置取值,eg:
list[1]----->2
list[2:]----->[3,4,5]
list[-3:-1]–>[3,4,5]
每个位置的数据可变,eg:
list[0]=9
1.2.Tuple(元组)
每个位置数据不可变,什么类型的数据都可以放进去。
tuple=(‘a’,'b,‘c’,1,2,3.0)
调用方法与List相同
1.3.Set{集合}
包含不重复元素的集合
set1={‘a’,‘b’,‘c’,‘a’}
set1输出的结果是{‘a’,‘b’,‘c’},删除了重复的元素
set之间可以运算,eg:
求差集:set1 - set2 等价于 set1.difference(set2)
求并集:set1 | set2 等价于 set1.union(set2)
求交集:set1 & set2 等价于 set1.intersection(set2)
求对称差集:set1 ^ set2 等价于 set1.symmetric_difference(set2) 等价于 (set1 - set2) | (set2 - set1)
1.4.Dictionary{字典:Dictionary}
key-value,字典不允许重复的key,但允许重复的value。
dict={‘name’:‘sy’,‘age’:‘24’}
输入dict[‘name’]或者dict.get(‘name’),返回‘sy’
查看所有的键:dict.keys()
查看所有的值:dict.values()
改变某一项的值:dict[‘name’]=‘ys’
2.Numpy常见用法
2.1.创建数组
import numpy as np
arr=np.array([1,2,3,4,5])#一维数组
my_matrix=np.array([[1,2,3],[4,5,6],[7,8,9]])#二维数组
2.2.索引与切片
前三个:arr[:3]
倒数第三到倒数第一个:arr[-3:-1]
加入步长:arr[1:4:2]
二维数组切片:my_matric[0:2,0:2]
2.3.dtype
dtype的类型:
i-integer
b-boolen
u-unsigned integer
f-float
c-complex float
m-timedelta
M-datetime
O-object
S-string
U-unicode string
V-fixed chunk of memory for other type(void)
np.array([1,3,2])的dtype为int32
np.array([‘apple’,‘banana’])的dtype为<U6(不超过6位的Unicode字符串)
arr=np.array(['1','2','3'],dtype='f')#指定dtype为float
2.4.一般方法
代码 | 含义 |
---|---|
np.arange(0,7,2) | 在[0,7)之间生成步长为2的数组 |
np.zeros((2,5)) | 二行五列全为0的数组 |
np.ones((2,5)) | 二行五列全为1的数组 |
np.eye(5) | 对角线为1其余为0的5行5列数组 |
np.random.rand(5,2) | 5行2列的随机数数组 |
np.random.seed(1) | 先定义随机种子保证随机出一样的数组 |
np.random.randint(0,11,(4,5)) | 在[0,11)区间随机选取整数生成4行5列的数组 |
array.max() | 查看数组array里面的最大值 |
array.min() | 查看数组array里面的最小值 |
array.argmax() | 查看数组array里面的最大值的索引位置 |
array.argmin() | 查看数组array里面的最小值的索引位置 |
3.Numpy的进阶用法
代码 | 含义 |
---|---|
array.reshape(3,4) | 转换成三行四列的数组 |
np.concatenate((arr1,arr2)) | 沿着行合并 |
np.concatenate((arr1,arr2),axis=1) | 沿着列合并 |
np.array_split(arr,3) | 根据行分割成3个array |
np.where(arr%2==0) | 查找arr中对2取余为0的元素索引 |
arr[arr>4] | 取出满足arr>4的元素 |
np.sort(arr) | 排序,若arr为二维数组,则对每一行单独排序 |
4.随机
生成包含100个值的一维数组,其中每个值必须为1,2,3或4,每个数有自己的概率
np.random.choice([1,2,3,4],p=[0.1,0.3,0.6,0.0],size=(100))
根据原有数组生成新的随机序列
np.random.permutation(arr)
np.random.shuffle(arr)#洗牌
正态分布
正态分布介绍
np.random.normal(loc=1,scale=2,size=(2,3))
二项分布
np.random.binomial(n=10,p=0.5,size=10)
多项式分布
np.random.multinomial(n=6,pvals=[1/6,1/6,1/6,1/6,1/6,1/6])
泊松分布
均匀分布
指数分布
卡方分布
帕累托分布
介绍11种概率分布