python模块学习——NumPy模块

本文详细介绍了Python的NumPy模块,包括如何创建数组、查看数组属性、选取元素、数组重塑与转置、数组处理(如添加、删除元素、处理缺失值和重复值)以及数组的运算。内容涵盖arange()、random模块的rand()、randn()、randint()函数,reshape()、flatten()、T属性、transpose()函数,以及append()、insert()、delete()、unique()、concatenate()、hstack()、vstack()、split()、hsplit()、vsplit()等函数的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python模块学习——NumPy模块

零基础学python



前言

NumPy——Numerical Python缩写

NumPy模块可以构建多维数据的容器,将各种类型的数据快速地整合在一起,完成多维数据的计算及大型矩阵的存储和处理。

一、创建数组

NumPy模块最主要的特点就是引入了数组的概念。

数组是一些相同类型的数据集合,这些数据按照一定的顺序排列,并且每个数据占用大小相同的存储空间。

NumPy提供了多种创建数组的方法,创建的数组类型也多种多样。

1.使用array()函数创建数组

### 基于列表创建一维数组
import numpy as np
a = np.array([1,2,3,4])
b = np.array(['产品编号', '销售数量', '销售单价', '销售金额'])
print(a)
print(b)

#[1 2 3 4]
#['产品编号' '销售数量' '销售单价' '销售金额']

同一个数组中各元素的数据类型必须相同

### 创建多维数组
import numpy as np
c = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(c)

#[[1 2 3]
# [4 5 6]
# [7 8 9]]
#3*3的二维数组

array()函数语法格式和参数意义:

array(object, dtype = None, copy = True,
 order = None, subok = False, ndmin = 0)
参数 说明
object 必选,为一个序列型对象,如列表、元组、字典、集合等,还可以是一个已经创建好的数组
dtype 可选,用于指定数组元素的数据类型
copy 可选,用于设置是否需要复制对象
order 可选,用于指定创建数组的样式
subok 可选,默认返回一个与基类的类型一致的数组
ndmin 可选,用于指定生成数组的最小维度

2.创建等差数组arange()函数

## 创建等差数组arange()函数
import numpy as np
d = np.arange(1, 20, 4)
print(d)

#[ 1  5  9 13 17]

省略第三个参数,则步长默认为1

import numpy as np
d = np.arange(1, 20)
print(d)

#[ 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19]

arange()函数只输入一个参数,则作为结束值,起始值默认为0,步长默认为1

import numpy as np
d = np.arange(20)
print(d)

# [ 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19]

arange()函数的语法格式和参数意义:

arange(start, stop, step, dtype = None)
参数 说明
start 可选,表示起始值,默认为0
stop 必选,作为结束值,生成的数组元素不包括这个值
step 可选,表示步长,如果省略,则默认为1,如果指定了该参数,则必须给出参数start的值
dtype 可选,表示创建的数组元素的数据类型,默认值为None,如果省略,则从其他参数推断数据类型

3.创建随机数组——random模块

子模块random
主要有rand()函数,randn()函数,randint()函数

(1)rand()函数

用rand()函数创建的数组中的每个元素都是[0,1)区间内的随机数

#### 创建一个有三个元素的一维数组
import numpy as np
e = np.random.rand(3)
print(e)

# [0.20647933 0.95992981 0.00234951]
### 创建一个2行3列的二维数组
import numpy as np
e = np.random.rand(2,3)
print(e)

# [[0.69069007 0.7545418  0.31325586]
# [0.53050908 0.99653132 0.52121818]]

(2)randn()函数

用randn函数创建的数组中的元素是符合标准正态分布(均值为0,标准差为1)的随机数。

#### 创建一个有3个元素的一维数组
import numpy as np
e = np.random.randn(3)
print(e)
#### 创建一个3行3列的二维数组
e = np.random.randn(3,3)
print(e)

输出符合标准正态分布的随机数

[-0.93650953 -0.12270785 -0.77946136]
[[ 1.00374731  0.94441086  2.4394086 ]
 [ 0.46833841 -0.10056687 -0.82493992]
 [ 0.55322696 -0.14631903 -0.34528775]]

(3)randint()函数

用randint()函数创建的数组中的元素是指定范围内的随机整数

#### 创建一个有10个元素的一维数组
import numpy as np
e = np.random.randint(1, 5, 10)  # [1,5)区间的数
print(e)
#### 创建4行2列二维随机整数数组
import numpy as np
e = np.random.randint(1, 10, (4, 2))  # [1,10)区间
print(e)
[3 3 1 4 2 2 1 3 2 4]
[[5 3]
 [3 6]
 [4 5]
 [6 1]]

二、查看数组的属性

1.查看数组的行数和列数

数组的shape属性用于查看数组的行数和列数

## 查看数组的行数和列数
import numpy as np
arr = np.array([[1, 2], [3, 4], [5, 6]])
print(arr.shape)  # 3行2列的数组
(3, 2)  # 得到的是一个元组
## 只想查看行数或列数,从元组中提取
import numpy as np
arr = np.array([[1, 2], [3, 4], [5, 6]])
print(arr.shape[0])  # 查看行数
print(arr.shape[1])  # 查看列数
3
2

2.查看数组的元素个数

数组的size属性用于查看数组的大小

## 查看数组元素个数size属性
import numpy as np
arr = np.array([[1, 2], [3, 4], [5, 6]])
print(arr.size)
6

3.查看和转换数组元素的数据类型

数组的dtype属性用于查看数组的元素的数据类型

## 查看和转换数组的元素的数据类型dtype属性
import numpy as np
arr = np.array([[1.3, 2, 3.6, 4], [5, 6, 7.8, 8]])
print(arr.dtype)
float64

如果数组元素的数据类型不能满足工作需要,可以使用astype()方法进行转换。

### astype()函数转换元素数据类型
import numpy as np
arr = np.array([[1.3, 2, 3.6, 4], [5, 6, 7.8, 8]])
arr1 = arr.astype(int)
print(arr1)
print(arr1.dtype)
[[1 2 3 4]
 [5 6 7 8]]
int32

4.查看数组的维数

数组的ndim属性查看数组的维数

## 查看数组的维数ndim属性

import numpy as np
arr = np.array([[1, 2], [3, 4], [
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值