numpy

本文详细介绍了Python的Numpy库,包括如何生成数组、查看和修改数组属性、执行数组运算、进行文件操作以及处理NaN和Inf。重点讨论了数组的生成方法如array、arange、linspace和随机数生成,以及数组的统计方法、拼接、切割、转置等操作。此外,还涵盖了文件保存和读取,特别是CSV文件操作,以及Numpy中的NaN和Inf处理。
摘要由CSDN通过智能技术生成

Numpy数组

数据处理与计算、变换
导入numpy: import numpy as np
注意: numpy中的数组中元素的类型必须一致

Numpy:ndarray(多维数组的数据处理)

一、生成数组

1. array

array函数将列表转换成数组

a1=np.arrary([1,2,3,4,5,6])
a1
a2=np.array([[1,2,3],[4,5,6]])
#array([10, 78, 34, 89, 23])

2.arange

arange函数创建指定范围的数字数组(arange用法和range函数类似)

a3=np.arange(60,100,5)
a3
#array([60, 65, 70, 75, 80, 85, 90, 95])

3. linspace

linspace函数创建等差数列

a4=np.linspace(1,100,5)
a4
#array([  1.  ,  25.75,  50.5 ,  75.25, 100.  ])

4.np.random

使用numpy的随机模块中的随机函数产生数字数组

np.random,random((m,n)):生成一个m行n列的随机数组

np.array([random.random() for i in range(n)]):随机生成一个包含n个元素的数组

np.random.randint(0,z,n):随机生成一个包含n个元素且值全在0~z之间的一维数组

np.random.randint(0,z,(m,n)):在0~z之间生成一个有m行n列的随机数组

a5=np.random.randint(1,101,10)
#array([17, 73, 56, 21, 23, 83, 94, 14, 29, 61])
a6=np.random.rand(1,100,(3,4))
#array([[63, 68, 83, 93],
#       [81, 79, 60,  6],
#       [28, 81, 57, 87]])
#随机生成包含十个元素的数组
a6=np.array([random.random() for i in range(10)])
a6
#array([0.9495929 , 0.07423479, 0.19000517, 0.64636538, 0.66012647,
#       0.91676274, 0.27137253, 0.07187407, 0.73341749, 0.17518598])

在这里插入图片描述

5.特殊函数

np.eye(n):创建一个n行n列的单位矩阵
np.zeros((m,n)):生成m行n列全为0的数组
np.ones( (m,n) ):生成m行n列全为1的数组
np.full( (m,n ) , y):生成有m行n列元素全为y的数组

a7=np.eye(4)
#array([[1., 0., 0., 0.],
#       [0., 1., 0., 0.],
#       [0., 0., 1., 0.],
#       [0., 0., 0., 1.]])

二、数组的属性

1.查看属性

函数 意义
a.size 数组元素的个数
a.shape 数组的形状(几行几列)
a.reshape() 改变数组的形状
andim 维度(如一维、二维、三维),数组轴的个数
a.dtype 数组的类型
a.itemsize 每个元素所占的内存大小(单位字节)
a.nbytes 整个数组所占的内存大小(单位字节)
np.argmax(a,axis=0) 获取最大值所在位置
np.argmin(a,axis=1) 获取最小值所在位置

2.转换方法

函数 功能 说明
a.sort( ) 排序 从小到大排序(直接修改原数组)
sorted( ) 排序 进行简单的升序排序,返回一个新的list
np.unique(a) 去重 去重
a.reshape( ) 改变形状 调整数组形状 ,产生一个新的数组,不修改原数组
a.reshape((n,)) 数组扁平化 将共有n个元素的多维数组转换为一行有n个元素的一维数组
a.resize( ) 改变大小 调整数组大小或形状,直接改变原数组,会在数据不够时自动填补为0
a.flatten( ) 数组扁平化 将多维数组变成一维数组,返回一个拷贝不会改变原数组
a.flatten()[n]=x 数组扁平化 将数组变为一维数组后修改某个元素的值,不会修改原数组
a.ravel() 数组扁平化 将多维数组变成一维数组,不改变原数组,返回一个视图;
a.ravel()[n]=x 数组扁平化 将数组变为一维数组后修改某个元素的值,会直接改变原数组的值
  • 18
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值