Numpy学习日记(一)

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种概率分布

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值