ITPub博客

首页 > 数据库 > 数据库开发技术 > Numpy进行数据分析常用的30个操作

Numpy进行数据分析常用的30个操作

原创 数据库开发技术 作者:derekwh 时间:2024-04-28 09:52:43 0 删除 编辑

NumPy 是 Python 中用于科学计算的一个基础库,它提供了对多维数组对象的支持以及对这些数组的高效操作。本文介绍常用的30个操作代码实现。

1.创建特殊数组

# 创建一个全零数组
zeros_arr = np.zeros((3, 3))

# 创建一个全一数组
ones_arr = np.ones((2, 2), dtype=int)

2. 数组切片

# 获取数组的第0行和第1、2列
slice_arr = np.array([[1, 2, 3], [4, 5, 6]])[:, 1:3]

3. 数组转置

# 转置一个2D数组
transposed = np.array([[1, 2], [3, 4]]).T

4. 数组拼接

# 水平拼接两个数组
hstack_arr = np.hstack((np.array([1, 2]), np.array([3, 4])))

5. 数组拆分

# 将数组拆分为两部分
split_arr = np.array([1, 2, 3, 4, 5, 6]).reshape(-1, 3)

6. 数组相加

# 两个数组进行加法
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
broadcasted = np.add(arr1, arr2)

7. 数组相乘

# 计算两个矩阵的乘积
A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])
product = np.dot(A, B)

8. 随机数生成

# 生成一个标准正态分布的随机数数组
randn_arr = np.random.randn(3, 3)

9. 选取索引

# 使用布尔索引选择大于其平均值的元素
arr = np.array([1, 2, 3, 4, 5, 6])
bool_indexed = arr[arr > np.mean(arr)]

10. 数组的索引和切片

# 使用切片和索引结合操作数组
combined_slice = arr[1:3, ::2]

11. 数组排序

# 对数组进行排序
sorted_arr = np.sort(arr)

12. 唯一化数组元素

# 数据元素去重
unique_arr = np.unique(arr)

13. 轮替数组元素

# 沿指定轴轮替数组元素
rolled_arr = np.roll(arr, 1, axis=0)

14. 查找最大值和索引

# 找到数组中的最大值及其索引
max_val, max_idx = np.max(arr, axis=0), np.argmax(arr, axis=0)

15. 数组形状变换

# 改变数组的形状
reshaped = arr.reshape((3, 2))

16. 数组类型转换

# 将浮点数数组转换为整数类型
astyped_arr = arr.astype(int)

17. 元素级运算

# 执行数组的元素级加法
elementwise_add = arr + 2

18. 统计运算

# 计算数组的均值、中值和标准差
mean_val = np.mean(arr)
median_val = np.median(arr)
std_dev = np.std(arr)

19. 傅里叶变换

# 对数组进行快速傅里叶变换
fft_arr = np.fft.fft(arr)

20. 内积和外积

# 计算两个数组的内积
dot_product = np.dot(arr, arr)

# 计算两个数组的外积
outer_product = np.outer(arr, arr)

21. 多项式拟合

# 使用多项式拟合数据
x = np.linspace(-1, 1, 100)
y = np.polyval(np.polyfit(x, np.random.rand(100), 3), x)

22. 数组的掩码操作

# 使用掩码选择符合条件的元素
mask = arr > 0
masked_arr = np.ma.masked_array(arr, mask=mask)

23. 数组的非零元素

# 找到数组中的非零元素及其索引
nonzero = np.nonzero(arr)

24. 数组的累积求和

# 计算数组的累积求和
cumsum_arr = np.cumsum(arr)

25. 数组的累积乘积

# 计算数组的累积乘积
cumprod_arr = np.cumprod(arr)

26. 数组的逻辑运算

# 使用逻辑运算符进行数组操作
logical_and = np.logical_and(arr > 0, arr < 5)

27. 数组的查找和排序

# 使用 argsort 对数组进行间接排序
sorted_indices = arr.argsort()

28. 数组的条件选择

# 根据条件选择元素
selected = np.where(arr > 0, arr, 0)

29. 数组的排序

import numpy as np
A = np.array([3, 1, 2])
result = np.sort(A)
print(result)


30. 数组分割

import numpy as np
A = np.array([1, 2, 3, 4, 5, 6])
result = np.split(A, 3)
print(result)

本文介绍的这些常用操作覆盖了 NumPy 在数组操作、线性代数、随机数生成、统计运算等多个方面的应用。若要详细了解Numpy的使用,可查阅官方文档。


原文作者:Python学习杂记;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论
央企算法工程师,微信公众号: python数智工坊

注册时间:2021-03-14

  • 博文量
    305
  • 访问量
    162407