【数据分析】NumPy

因上努力

个人主页:丷从心·

系列专栏:数据分析

学习指南:Python学习指南

果上随缘


ndarray的创建

np.array()方法
import numpy as np

arr = np.array([1, 2, 3])

print(arr)
print(type(arr))
[1 2 3]
<class 'numpy.ndarray'>
np.arange()方法
import numpy as np

arr = np.arange(6)

print(arr)
[0 1 2 3 4 5]
np.zeros()方法
import numpy as np

arr = np.zeros((2, 2))

print(arr)
[[0. 0.]
 [0. 0.]]
np.ones()方法
import numpy as np

arr = np.ones((2, 2))

print(arr)
[[1. 1.]
 [1. 1.]]
np.full()方法
import numpy as np

arr = np.full((2, 2), 2)

print(arr)
[[2 2]
 [2 2]]
np.eye()方法
import numpy as np

arr = np.eye(3)

print(arr)
[[1. 0. 0.]
 [0. 1. 0.]
 [0. 0. 1.]]
np.random模块
np.random.random()方法
import numpy as np

arr = np.random.random((2, 2))

print(arr)
[[0.32149432 0.01896196]
 [0.62318947 0.24221268]]
np.random.randint()方法
import numpy as np

arr = np.random.randint(0, 10, size=(2, 2))

print(arr)
[[6 7]
 [2 3]]
np.random.choice()方法
  • choice()方法用于从数组或列表中随机采样
import numpy as np

arr = np.arange(6)

print(np.random.choice(arr, size=(2, 3)))
[[2 1 0]
 [0 2 5]]
np.random.shuffle()方法
  • shuffle()方法用于将数组随机打乱
import numpy as np

arr = np.arange(6)
np.random.shuffle(arr)

print(arr)
[1 0 5 4 3 2]

ndarray的属性

ndarray.dtype
  • ndarray.dtype表示数组元素的类型
import numpy as np

arr = np.random.random((2, 2))

print(arr.dtype)
float64
ndarray.ndim
  • ndarray.ndim表示数组的维度
import numpy as np

arr = np.random.random((2, 2))

print(arr.ndim)
2
ndarray.shape
  • ndarray.shape表示数组的各轴长度
import numpy as np

arr = np.random.random((2, 2))

print(arr.shape)
(2, 2)
ndarray.size
  • ndarray.size表示数组的元素总数量
import numpy as np

arr = np.random.random((2, 2))

print(arr.size)
4
ndarray.itemsize
  • ndarray.itemsize表示数组每个元素占的字节数
import numpy as np

arr = np.random.random((2, 2))

print(arr.itemsize)
8

修改ndarray的维度

ndarray.reshape()方法
  • reshape()方法不会修改数组本身,只返回修改后的结果
import numpy as np

arr_1 = np.arange(6)

arr_1.reshape((2, 3))
print(arr_1)

arr_2 = arr_1.reshape((2, 3))
print(arr_2)
[0 1 2 3 4 5]
[[0 1 2]
 [3 4 5]]
ndarray.resize()方法
  • resize()方法修改数组本身,没有返回值
import numpy as np

arr = np.arange(6)
arr.resize((2, 3))

print(arr)
[[0 1 2]
 [3 4 5]]
ndarray.flatten()方法
  • flatten()方法用于将多维数组转变为一维数组
import numpy as np

arr = np.arange(6)
arr.resize((2, 3))

print(arr.flatten())
[0 1 2 3 4 5]

ndarray与数的运算

import numpy as np

arr = np.random.random((3, 4))
arr *= 10

print(arr.round(2))
[[6.61 5.87 3.59 9.65]
 [9.91 5.98 2.7  5.72]
 [2.76 3.68 2.4  2.79]]
  • round()方法用于修改保留小数的位数

ndarray与ndarray的运算

import numpy as np

arr_1 = np.array([[1, 2, 3],
                  [4, 5, 6],
                  [7, 8, 9]])

arr_2 = np.array([[1, 2, 3],
                  [4, 5, 6],
                  [7, 8, 9]])

print(arr_1 * arr_2)
[[ 1  4  9]
 [16 25 36]
 [49 64 81]]
import numpy as np

arr_1 = np.random.randint(0, 10, size=(3, 4))  # 3 行 4 列
arr_2 = np.random.randint(0, 10, size=(3, 1))  # 3 行 1 列

arr_3 = arr_1 - arr_2

print(arr_1)
print(arr_2)
print(arr_3)
[[9 5 1 6]
 [4 4 9 5]
 [9 0 7 3]]
[[3]
 [7]
 [8]]
[[ 6  2 -2  3]
 [-3 -3  2 -2]
 [ 1 -8 -1 -5]]
import numpy as np

arr_1 = np.random.randint(0, 10, size=(3, 4))  # 3 行 4 列
arr_2 = np.random.randint(0, 10, size=(1, 4))  # 1 行 4 列

arr_3 = arr_1 - arr_2

print(arr_1)
print(arr_2)
print(arr_3)
[[0 1 1 8]
 [3 3 6 3]
 [4 9 8 6]]
[[3 5 9 0]]
[[-3 -4 -8  8]
 [ 0 -2 -3  3]
 [ 1  4 -1  6]]

ndarray索引与切片

ndarray索引
import numpy as np

arr = np.array([[1, 2, 3],
                [4, 5, 6],
                [7, 8, 9]])

print(arr[0])  # 打印第 0 行的元素
print(arr[0, 0])  # 打印第 0 行第 0 列的元素
[1 2 3]
1
ndarray切片
import numpy as np

arr = np.array([[1, 2, 3],
                [4, 5, 6],
                [7, 8, 9]])

print(arr[:2])  # 打印第 0 ~ 1 行的元素
print(arr[:2, :2])  # 打印第 0 ~ 1 行的第 0 ~ 1 列的元素
[[1 2 3]
 [4 5 6]]
[[1 2]
 [4 5]]

ndarray的转置

ndarray.T
  • ndarray.T不会修改数组本身,只返回转置后的结果
import numpy as np

arr = np.arange(6).reshape((2, 3))

print(arr)
print(arr.T)
[[0 1 2]
 [3 4 5]]
[[0 3]
 [1 4]
 [2 5]]
ndarray.transpose()方法
  • transpose()方法修改数组本身,并返回转置后的结果
import numpy as np

arr = np.arange(6).reshape((2, 3))

print(arr)
print(arr.transpose())
[[0 1 2]
 [3 4 5]]
[[0 3]
 [1 4]
 [2 5]]

布尔索引

  • 布尔索引是指将一个布尔数组作为数组索引,返回的数据是布尔数组中Ture对应位置的值
import numpy as np

arr_1 = np.arange(0, 12).reshape((3, 4))
arr_2 = (arr_1 < 3) | (arr_1 > 8)

print(arr_1)
print(arr_2)

print(arr_1[arr_2])
[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]
[[ True  True  True False]
 [False False False False]
 [False  True  True  True]]
[ 0  1  2  9 10 11]

相关推荐

  1. 数据分析NumPy

    2024-04-26 04:10:01       36 阅读
  2. 数据分析NumPy

    2024-04-26 04:10:01       37 阅读
  3. 3 数据分析--Numpy

    2024-04-26 04:10:01       16 阅读
  4. 数据分析 -- numpy

    2024-04-26 04:10:01       15 阅读
  5. 数据分析-numpy

    2024-04-26 04:10:01       20 阅读
  6. 数据分析Numpy 数组处理

    2024-04-26 04:10:01       25 阅读
  7. python_数据分析_numpy

    2024-04-26 04:10:01       28 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-26 04:10:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-26 04:10:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-26 04:10:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-26 04:10:01       18 阅读

热门阅读

  1. gitlab 16.2.4 恢复

    2024-04-26 04:10:01       13 阅读
  2. “生成元”问题——穷举生成“查找表”

    2024-04-26 04:10:01       38 阅读
  3. C++之const

    2024-04-26 04:10:01       24 阅读
  4. 阿里云直播推流和播流地址的生成方法PHP

    2024-04-26 04:10:01       15 阅读
  5. Unity构建详解(10)——Unity构建流程

    2024-04-26 04:10:01       13 阅读
  6. react之响应事件

    2024-04-26 04:10:01       10 阅读
  7. 377. 组合总和 Ⅳ

    2024-04-26 04:10:01       10 阅读
  8. Spring IOC工作流程

    2024-04-26 04:10:01       11 阅读
  9. ROS——service机制

    2024-04-26 04:10:01       13 阅读
  10. 微信浏览器input[file]拍照点确认后强刷新解决

    2024-04-26 04:10:01       11 阅读
  11. 00_Linux

    00_Linux

    2024-04-26 04:10:01      10 阅读