python模块学习——NumPy模块

python模块学习——NumPy模块

零基础学python


文章目录

  • python模块学习——NumPy模块
  • 前言
  • 一、创建数组
    • 1.使用array()函数创建数组
    • 2.创建等差数组arange()函数
    • 3.创建随机数组——random模块
      • (1)rand()函数
      • (2)randn()函数
      • (3)randint()函数
  • 二、查看数组的属性
    • 1.查看数组的行数和列数
    • 2.查看数组的元素个数
    • 3.查看和转换数组元素的数据类型
    • 4.查看数组的维数
  • 三、选取数组元素
    • 1.一维数组的元素选取
      • (1)选取单个元素
      • (3)选取连续的元素
      • (4)选取不连续的元素
    • 2.二维数组的元素选取
      • (1)选取单个元素
      • (2)选取单行或单列的元素
      • (3)选取某些行或某些列的元素
      • (4)同时选取行列元素
  • 四.数组的重塑与转置
    • 1.一维数组的重塑
    • 2.多维数组的重塑
    • 3.多维数组转换为一维数组
    • 4.数组的转置
      • (1)T属性
      • (2)transpose()函数
  • 五、数组的处理
    • 1.添加数组元素
      • (1)append()函数
      • (2)insert()函数
    • 2.删除数组元素
    • 3.处理数组的缺失值
    • 4.处理数组的重复值
    • 5.拼接数组
      • (1)concatenate()函数
      • (2)hstack()和vstack()函数
    • 6.拆分数组
      • (1)split()函数
      • (2)hsplit()和vsplit()函数
  • 六、数组的运算
    • 1.数组之间的四则运算
    • 2.数组元素的统计原酸
      • (1)求和
      • (2)求平均值
      • (3)求最值


前言

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]])

你可能感兴趣的:(python,numpy)