Python数据分析----Numpy函数应用(二)
文章目录
提示:以下是本篇文章正文内容,下面案例可供参考 本文使用代码均适用于jupyter
重塑数组
一维转多维
~ arr.reshape(shape,order=“C”) ~
- shape为数组重塑形状
- order表示重塑方向
- C行方向重塑
- F列方向重塑
例1:
import numpy as np
arr = np.arange(6)
arr = arr.reshape(2,3)
arr
多维转一维
- arr.flatten()
- arr.ravel()
数组转置与换轴
- arr.transpose() # 转置
- arr.T # 转置
- arr.swapaxes() # 换轴
创建数组函数
函数名 | 描述 |
---|---|
array | 将输入数据转换为ndarray数组,自动推断数据类型,默认复制所有输入数据 |
asarray | 将输入数据转换为ndarray数组,但输入数据已经是ndarray则不再复制 |
arange | arange python内建函数range的数组版,返回一个数组 |
zeros | 根据给定形状和数据类型生成全0数组 |
ones | 根据给定形状和数据类型生成全1数组 |
empty | 根据给定形状和数据类型生成一个没有初始化数值的空数组 |
full | full 根据给定形状和数据类型生成指定数值的数组 |
numpy–trandom模块
np.random.random()
np.random.random()
,默认随机产生[0,1) 间的数组
我们也可以规定随机产生几行几列的多维数组
图例1:
np.random.randint()
np.random.randint()
,生成指定范围内地随机数数组
并且我们可以通过size参数指定维度
图例2:
np.random.randn()
np.random.randn()
,生成的是均值为0 标准差为1 正太分布的随机数组
我们可以规定产生几行几列的多维数组
图例3:
np.random.normal()
与np.random.randn()
不同之处在于,它可以自主选择生成的数的均值和方差
且可以通过size参数进行选择数组维度
图例4:
np.random.seed()
np.random.seed()
,用于指定随机数生成时所用算法开始的整数值,如果使用相同的seed()值,则每次生成的随即数都相同,如果不设置这个值,则系统根据时间来自己选择这个值,此时每次生成的随机数因时间差异而不同。一般没有特殊要求不用设置。
图例5:
随机排序
np.random.shuffle(arr)
,直接作用于原函数上进行改变np.random.permutation(arr)
,有返回值,不在原函数上改变
随机抽样 np.random.choice()
np.random.choice()
,随机抽取数组中一个或者多个数形成一个新数组
并且可以通过size参数改变数组维度
图例6:
数据拼接与分割
改变数组维度
- reshape() 不改变原数据
- resize() 直接作用于原数据进行改变
图例7:
数组的广播机制
np.vstack()
np.vstack()
,对两个数组进行上下拼接
图例8:
np.hstack()
np.hstack()
,对两个数组进行左右拼接
图例9:
拓展–np.concatenate((数组1,数组2),axis=0)
np.concatenate((数组1,数组2),axis=0)
通过改变axis的值(0或者1)来选择是上下还是左右拼接
0是行拼接,1是列拼接
图例10:
数据分割
np.hsplit()
np.array_split()
图例11: