Python数据分析篇:(一)NumPy库

目录

一、创建数组对象

二、生成数组对象

(1)arange

(2)linspace

(3)logspace

(4)矩阵

三、ndarray的属性

四、生成随机数

五、数组变换

(1)重整形状

(2)数组合并

(3)数组分割

(4)数组转置


我们有时需要用python处理某些数据,这就用到了numpy库

它可以灵活的处理ndarray数据,以达到我们想要的数据结果。

当然,前提是这些数据是ndarray类型数据。

那么不是的怎么办呢?

很简单,转化成ndarray类型,然后再处理呗~

前置工作:导入库

首先在终端下载:

pip install numpy

然后输入代码:

import numpy as np

一、创建数组对象

ndarray,即数组数据。

我们可以使用array函数创建。

格式:

np.array(你的数据)

示例:

#初始数据
a1=[1,23,4]
a2=(2,6,9)
a3=[[1,2],[4,6]]
#创建ndarray数组
q1=np.array(a1)
q2=np.array(a2)
q3=np.array(a3)
#输出
print(q1)    #[ 1 23  4]
print(q2)    #[2 6 9]
print(q3)    '''[[1 2]
              [4 6]] '''

Tips:  a3处的多维数组必须是行列一致,否则q3处须写作np.array([a3, dtype=object)

二、生成数组对象

上文都是将其他对象转化为ndarray数组。

现在来看一看专门生成ndarray数组的函数:

(1)arange

(注:这是arange,不是range)

创建n个一维数组。

示例:

当然,我们也可以设置初始值、终值、步长值。

如,np.arange(1,2,0.5)

那就是[ 1 , 1.5 ]

(2)linspace

np.linspace(a,b,c):从a到b均匀取c个数(可理解为等差序列)

如:

(3)logspace

np.logspace(a,b,c):从a到b取c个等比的数(可理解为等比序列)

如:

(4)矩阵

np.zeros(n)        #全零矩阵

np.ones(n)        #全1矩阵

np.diag(n)        #对角矩阵

示例:

三、ndarray的属性

汇总: 

属性说明
ndim
shape数组维度(形状)
size数组元素个数
dtype数据类型
itemsize每个元素字节大小

示例:


而且,我们可以利用这些属性进行一些转化。

如:将数据形状转化为3行2列

四、生成随机数

汇总:

函数说明
np.random.rand生成服从均匀分布的随机数,数值范围为 [0, 1)。
np.random.randn生成服从标准正态分布(均值为0,标准差为1)的随机数
np.random.normal(loc=0.0, scale=1.0, size=None)生成服从正态分布的随机数,loc 为均值,scale 为标准差。
np.random.poisson(lam=1.0, size=None)生成服从泊松分布的随机数,lam 为均值
np.random.seed(seed)设置随机数生成器的种子,这样可以确保生成的随机数是可重复的。通过固定种子,程序每次运行时都会生成相同的随机数序列。
np.random.shuffle(a)将数组 a 中的元素随机排列(原地修改)
np.random.permutation(a)返回数组 a 的随机排列,不修改原数组。

示例:

格式:

np.random.randint(最小,最大,形状)

如:

如果要生成0-1的小数,那就是:

np.random.rand(几行,几列)

五、数组变换

(1)重整形状

  • reshape:改变数组维度(就是形状)
  • ravel:将数据散开

示例:

散开则a3=ravel()即可 

(注:用此种方式原数组不会改变)

(2)数组合并

  • np.hstack(a,b):将数组a和b横向合并
  • np.vstack(a,b):将数组a和b纵向合并
  • np.concatenate((a,b),c)):c=1则ab横向合并,c=0则纵向合并

(3)数组分割

  • hsplit(a,n):将a横向分割为n行
  • vsplit(a,n):将a纵向分割为n行
  • split(a,m,n):将a分为m行/列(n=1则横向分割,n=0则纵向分割)

(4)数组转置

  • transpose(a):将a数组转置
  • a.T:将a数组转置
  • a.swapaxes:数组轴对换

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值