• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

关于python:Python数据分析numpy

python 搞代码 4年前 (2022-02-20) 14次浏览 已收录 0个评论
文章目录[隐藏]

numpy创立数组(矩阵)

创立数组

<code class="python3">import numpy as np
a = np.array([1, 2, 3, 4, 5])
b = np.array(range(1, 6))
c = np.arange(1, 6)  # np.arange用法:arange(start,stop,step,dtype=None)

数组的类名和数据的类型

In [1]: type(a)
Out[1]: numpy.ndarray
In [2]: a.dtype
Out[2]: dtype('int64') # 常见类型有int,uint(8,16,32,64),float(16,32,64,128),complex(64,128,256),bool

数据类型的操作

a = np.array([1,0,1,0], dtype=np.bool) # 创立数组时指定数据类型
a.astype(np.int8)  # 批改数组的数据类型
b = np.array([0.0485,0.2689,1.8567,0.8754])
np.round(b, 2)  # 批改浮点型小数位数

数组的形态

a.shape  # 查看数组形态
a.reshape(2,2) # 批改数组形态
a.flatten()  # 把多维数组转化为一维数组

数组的计算

数组和数的计算

a = np.array([1, 2, 3, 4, 5])
b = a + 1  # 按位相加
c = a * 3  # 按位相乘

数组与数组的计算

a = np.array([[1, 2, 3, 4],
              [5, 6, 7, 8]])
b = np.array([[1, 1, 1, 1],
              [1, 1, 1, 1]])
c = np.array([1, 1, 1, 1])
d = np.array([[1],
              [1]])
O1 = a + b  # 形态雷同按位相加
O2 = a + c
O3 = a + d  # 形态不同,只有满足播送准则才可计算,O1=O2=O3

数组的转置

a.transpose()
a.swapaxes(1,0)
a.T

以上的三种办法都能够实现二维数组的转置的成果,转置和替换轴的成果一样。

numpy索引和切片

a[1,:]  # 取一行,可简写为a[1] 
a[:,2]  # 取一列
a[1:3,:]  # 取间断多行,可简写为a[1:3] 
a[:,2:4]  # 取间断多列
a[[1,3],:]  # 取离散多行,可简写为a[[1,3]]
a[:,[2,4]]  # 取离散多行
a[a<2]  # bool索引
np.where(a<2,0,4)  # 三元运算符,满足条件1替换为0,不满足替换为4
a.clip(2,3)  # 裁剪,大于3替换为3,小于2替换为2

numpy中的nan和inf

nan(NAN,Nan):not a number,示意不是一个数字,type类型为float。(两个nan是不相等的)
inf:infinity,inf示意正无穷,-inf示意负无穷,type类型为float

<code class="python3">np.count_nonzero(a!=a)  # 判断a中nan个数
np.isnan(a)  # 判断是否为nan,返回bool类型
a[np.isnan(a)] = 0 # nan 替换为0

numpy中罕用统计函数

求和:t.sum(axis=None)

均值:t.mean(axis=None)

中值:np.median(t,axis=None)

最大值:t.max(axis=None)

最小值:t.min(axis=None)

极值:np.ptp(t,axis=None) 即最大值和最小值之差

标准差:t.std(axis=None)

默认返回多维数组的全副的统计后果,如果指定axis则返回一个以后轴上的后果

数组的拼接

<code class="python3">np.vstack(a,b) # 竖直拼接
np.hstack(a,b) # 程度拼接

数组的行列替换

<code class="python3">a[[1,2],:] = a[[2,1],:] # 行替换
a[:,[0,2]] = a[:,[2,0]] # 列替换

其余实用办法

1.获取最大值最小值的地位

np.argmax(t,axis=0)

np.argmin(t,axis=1)

2.创立一个全0的数组: np.zeros((3,4))

3.创立一个全1的数组:np.ones((3,4))

4.创立一个对角线为1的正方形数组(方阵):np.eye(3)

5.numpy生成随机数

留神:numpy的copy和view

  1. a=b 齐全不复制,a和b相互影响
  2. a = b[:],视图的操作,一种切片,会创立新的对象a,然而a的数据齐全由b保存,他们两个的数据变动是统一的,
  3. a = b.copy(),复制,a和b互不影响

    本次分享就到这啦,如果对您有帮忙的话,麻烦点个关注再走哦~


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:关于python:Python数据分析numpy

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址