Numpy入门

Numpy是啥

  • NumPy是Python中科学计算的基础包
  • NumPy包的核心是 ndarray 对象
  • N维数组
  • import numpy as np
    在这里插入图片描述

2 创建

2.1 list & tuple – array

>>> import numpy as np
# 一维数组
# 基于list
>>> arr1 = np.array([1, 2, 3, 4])
>>> print(arr1)
[1 2 3 4]
# 基于tuple
>>> arr_tuple = np.array((1, 2, 3, 4))
>>> print(arr_tuple)
[1 2 3 4]  

# 二维数组
>>> arr2 = np.array([[1, 2, 4], [3, 4, 5]])
>>> print(arr2)
[[1 2 4]
 [3 4 5]]

2.2 np.arange – array

>>> arr1 = np.arange(5)
>>> print(arr1)
[0 1 2 3 4]
>>> arr2 = np.array([np.arange(3), np.arange(3)])
>>> print(arr2)
[[0 1 2]
 [0 1 2]]
>>> a = np.arange(5, dtype=float)
>>> print(a)
[0. 1. 2. 3. 4.]

2.3 文件读取 – array

 >>> data = np.genfromtxt('data.csv', delimiter=',')

3 数组属性

  • ndim,数组维度的数量
  • shape,数组对象的尺度
  • size,元素的数量

4 切片和索引

一维数组的切片和索引与python的list索引类似

>>> a = np.arange(7)
>>> a
array([0, 1, 2, 3, 4, 5, 6])
>>> a[1:4]
array([1, 2, 3])
>>> a[ : 6: 2]
array([0, 2, 4])

# 切出个矩阵
>>> arr = np.arange(24).reshape((4, 6))
>>> print(arr)
[[ 0  1  2  3  4  5]
 [ 6  7  8  9 10 11]
 [12 13 14 15 16 17]
 [18 19 20 21 22 23]]
>>> print(arr[0:3, 2:5])
[[ 2  3  4]
 [ 8  9 10]
 [14 15 16]]

5 形状转换

5.1 reshape()和resize()

# reshape 不改变原矩阵
>>> print(arr.reshape(3, 8))
[[ 0  1  2  3  4  5  6  7]
 [ 8  9 10 11 12 13 14 15]
 [16 17 18 19 20 21 22 23]]
>>> print(arr)
[[ 0  1  2  3  4  5]
 [ 6  7  8  9 10 11]
 [12 13 14 15 16 17]
 [18 19 20 21 22 23]]

# resize 改变原矩阵
>>> arr.resize(3, 8)
>>> print(arr)
[[ 0  1  2  3  4  5  6  7]
 [ 8  9 10 11 12 13 14 15]
 [16 17 18 19 20 21 22 23]]

5.2ravel()和flatten()

将多维数组转换成一维数组

>>> b = np.arange(12).reshape(4, 3)
>>> b
array([[ 0,  1,  2],
       [ 3,  4,  5],
       [ 6,  7,  8],
       [ 9, 10, 11]])
>>> b.ravel()
array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11])
>>> b.flatten()
array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11])

6 常用统计函数

  • np.sum(),返回求和
  • np.mean(),返回均值
  • np.max(),返回最大值
  • np.min(),返回最小值
>>> b
array([[ 0,  1, 20,  3,  4,  5],
       [ 6,  7,  8,  9, 10, 11]])
>>> np.max(b)
20

# axis=1
>>> np.max(b, axis=1)
array([20, 11])
# axis=0
>>> np.max(b, axis=0)
array([ 6,  7, 20,  9, 10, 11])
>>> np.min(b)
0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值