Numpy数据处理(全面)

Numpy基本属性

import numpy as np
#list列表转化为矩阵
arr1 = np.array([[1,1,1],[2,2,2],[3,3,3]],dtype=np.int)
print('矩阵维度:',arr1.ndim)
print('矩阵行和列数:',arr1.shape)
print('矩阵元素个数:',arr1.size)

Numpy 创建数组(array)

import numpy as np
#list列表转化为矩阵
arr1 = np.array([[1,1,1],[2,2,2],[3,3,3]],dtype=np.float)
#创建全零数组
arr2 = np.zeros((3,3))
#创建全1数组
arr3 = np.ones((3,3))
#创建全空数组, 每个值都是接近于零的数
arr4 = np.empty((3,3))
#创建1-200的数据,步长为3
arr5 = np.arange(1,201,3)
#reshape 改变数据的形状
arr6 = np.arange(9).reshape((3,3))
#开始为1,结束端100,且分割成50个数据
arr7 = np.linspace(1,100,50)

Numpy计算

import numpy as np
#list列表转化为矩阵
arr1 = np.array([[1,1,1],[2,2,2],[3,3,3]])
arr2 = np.arange(9).reshape((3,3))
print("arr1和arr2的和为:\n",arr1+arr2)
print("arr1和arr2的差为:\n",arr1-arr2)
print("arr1和arr2的积为:\n",arr1*arr2)
print("arr1和arr2的商为:\n",arr1/arr2)
print("arr1的平方为:\n",arr1**2)
print("arr1的sin值为:\n",np.sin(arr1))
print("arr1的布尔判断为:\n",arr1<5)
print("arr1和arr2矩阵相乘为:\n",np.dot(arr1,arr2),arr1.dot(arr2))
print("arr1所有元素和为:\n",np.sum(arr1))
print("arr1所有元素中最大值和最小值为:\n",np.max(arr1),np.min(arr1))
print("arr1的最大值索引为:\n",np.argmax(arr1))
print("arr1的最小值索引为:\n",np.argmin(arr1))
print("arr1的平均值为:\n",np.mean(arr1),np.average(arr1),arr1.mean())
print("arr1的中位数为:\n",np.median(arr1))
print("arr1逐个累加后的列表为:\n",np.cumsum(arr1))
print("arr1每一行中后一项与前一项之差为:\n",np.diff(arr1))
print("arr1非零元素对应的行号和列号为:\n",np.nonzero(arr1))
print("arr1每行排序后为:\n",print(np.sort(arr1)))
print("arr1转置后为:\n",np.transpose(arr1),arr1.T)
#判断矩阵中元素是否有比最小值小的或者比最大值大的元素,并将这些指定的元素转换为最小值或者最大值
print("arr1控制最大值最小值后为:\n",np.clip(arr1,0,2))
#将多维的矩阵进行展开成1行的数列
print("arr1展开成1行的数列为(视图):\n",arr1.ravel())
print("arr1展开成1行的数列为(新对象):\n",arr1.flatten())
#逐个读取矩阵元素
for data6 in arr1.flat:
    print(data6)

Numpy索引

import numpy as np
#list列表转化为矩阵
arr1 = np.array([[1,1,1],[2,2,2],[3,3,3]])
#一维索引
data1=arr1[0]
#二维索引
data2=arr1[0][1]
data3=arr1[0,1]
#读取指定行列
data4=arr1[1, 0:2]

Numpy数组(array)合并

import numpy as np
arr1 = np.array([[1,1,1],[2,2,2],[3,3,3]])
arr2 = np.array([[4,4,4],[5,5,5],[6,6,6]])
print("arr1和arr2上下合并:\n",np.vstack((arr1,arr2)))
print("arr1和arr2左右合并:\n",np.hstack((arr1,arr2)))
print("插入新维度,加一个维度(行):\n",arr1[np.newaxis,:])
print("插入新维度,加一个维度(列):\n",arr1[:,np.newaxis])
print("四个数组上下合并:\n",np.concatenate((arr1,arr1,arr2,arr1),axis=0))
print("四个数组左右合并:\n",np.concatenate((arr1,arr1,arr2,arr1),axis=1))

Numpy array 分割

import numpy as np
arr1 = np.array([[1,1,1],[2,2,2],[3,3,3]])
arr2 = np.array([[4,4,4],[5,5,5],[6,6,6]])
print("arr1和arr2上下合并:\n",np.vstack((arr1,arr2)))
print("arr1和arr2左右合并:\n",np.hstack((arr1,arr2)))
print("插入新维度,加一个维度(行):\n",arr1[np.newaxis,:])
print("插入新维度,加一个维度(列):\n",arr1[:,np.newaxis])
print("四个数组上下合并:\n",np.concatenate((arr1,arr1,arr2,arr1),axis=0))
print("四个数组左右合并:\n",np.concatenate((arr1,arr1,arr2,arr1),axis=1))
print("arr1等量纵向分割\n",np.split(arr1, 3, axis=1),np.hsplit(arr1, 3))
print("arr1等量横向分割\n",np.split(arr1, 3, axis=0),np.vsplit(arr1, 3))
print("arr1不等量纵向分割\n",np.array_split(arr1,2, axis=1))
print("arr1不等量横向分割\n",np.array_split(arr1,2, axis=0))

Numpy复制

import numpy as np
arr1 = np.array([[1,1,1],[2,2,2],[3,3,3]])
#复制数组
arr2 = arr1.copy()

Numpy随机数

import numpy as np
print("产生3行3列[0, 1)之间随机数数组:\n",np.random.rand(3,3))
print("产生一个[0, 1)之间随机数:\n",np.random.rand())
print("产生3行3列[low, high)中均匀分布的数组:\n",np.random.uniform(1,10,(3,3)))
print("产生一个[low, high)之间随机数:\n",np.random.uniform(1,10))
print("产生3x3个服从标准正态分布(均值为0,方差为1)的数组:\n",np.random.randn(3,3))
print("产生一个服从标准正态分布(均值为0,方差为1)的随机数:\n",np.random.randn())
print("产生3x3个值服从 μ=loc,σ=scale 的正态分布的数组:\n",np.random.normal(0,1,(3,3)))
print("产生一个值服从 μ=loc,σ=scale 的正态分布的随机数:\n",np.random.normal(0,1))
print("产生3x3个区间[low, high)中离散均匀抽样的数组:\n",np.random.randint(1,10,(3,3)))
print("产生一个区间[low, high)中离散均匀抽样的随机数:\n",np.random.randint(1,10))
print("产生3x3个区间[0, 1)之间均匀抽样的数组:\n",np.random.random((3, 3)))
print("产生一个区间[0, 1)之间均匀抽样的随机数:\n",np.random.random())
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: NumPy是一个用于进行科学计算的Python库,提供了丰富的多维数组操作函数和工具。它是构建在Python的原始数据类型之上的,能够高效地进行大规模数据处理和数值计算。 NumPy的中文手册(CHM)是通过该库的官方文档翻译而来的。该手册详细介绍了NumPy的各种功能和用法,方便初学者快速上手,并提供了深入的技术指南和实用示例供进阶使用。 该手册内容涵盖了NumPy数组的创建和操作、数组索引和切片、数组的数学运算和统计方法、数组的形状和维度变换、数组的文件输入输出等。此外,手册还介绍了NumPy的广播机制、通用函数、线性代数、随机数生成等高级功能和应用。 通过使用该手册,用户能够快速掌握NumPy的基本概念和操作,能够灵活地处理各种数据类型,进行数据的查询、运算、转置、排序等各种操作。此外,手册还提供了对于NumPy的扩展库和第三方工具的介绍和链接,使用户能够进一步了解和应用NumPy在科学计算和数据处理领域的广泛应用。 总之,NumPy的中文手册(CHM)是一个非常实用的工具,能够帮助用户深入理解和掌握NumPy库的核心功能和应用,为科学计算和数据处理提供强大的支持。 ### 回答2: NumPy是一个开源的Python科学计算库,用于处理大型多维数组和矩阵。它不仅提供了一个高效的数据结构,还包含了许多用于数组操作的函数。 NumPy的中文手册chm包含了对NumPy库的详细介绍和使用指南。这个手册可以帮助用户了解NumPy的核心概念,并提供了丰富的示例代码来演示如何使用NumPy进行数据处理。 手册中包含了NumPy数组的创建、操作、索引等基本操作的说明。它还介绍了NumPy提供的各种数学函数和统计函数,如加法、减法、乘法、除法、平方、平方根等。用户可以通过这些函数对数组进行各种运算和统计分析。 此外,手册还介绍了NumPy数组的高级操作,如数组转置、重塑、连接、切片等。这些方法可以使用户更方便地进行数组的操作和处理。 手册还包含了NumPy的广播机制、向量化操作和ufunc函数等高级特性的说明。这些特性可以帮助用户高效地处理大规模的数组数据,提高计算速度和代码的简洁性。 总之,NumPy数据处理中文手册chm提供了全面而详细的NumPy库的说明和使用指南。通过阅读和学习这个手册,用户可以掌握NumPy的使用方法,更好地进行数据处理和科学计算。它是NumPy库的重要参考资料,对于使用NumPy进行数据处理的用户非常有价值。 ### 回答3: NumPy是一个用于数值计算的Python库,它提供了丰富的数学函数和高效的多维数组对象。NumPy数据处理中文手册(chm)是一个详细的中文文档,涵盖了NumPy库的各种特性和用法,旨在帮助用户学习和使用NumPy进行数据处理。 这份中文手册包含了NumPy的安装方法、常用数据类型和数组操作函数的详细介绍,以及使用NumPy进行数据处理的各种技巧和例子。手册按照章节组织,每个章节都涵盖了特定主题。例如,第一章介绍了NumPy的基本概念和常用数据类型,第二章介绍了数组的创建和操作方法,第三章介绍了数学函数和统计方法,以此类推。 手册中的每个主题都以简洁明了的方式进行介绍,并提供了示例代码和说明,方便用户理解和运用。它还包含了一些常见问题的解答和一些技巧和技巧,帮助用户更好地利用NumPy进行数据处理和分析。 对于初学者来说,这份中文手册是学习NumPy的宝贵资源。它提供了全面而详细的资料,帮助新手从基础到进阶快速上手NumPy。对于有经验的用户来说,手册也提供了一些高级的技巧和用法,帮助他们更好地掌握NumPy的核心功能和扩展模块。 总之,NumPy数据处理中文手册(chm)是一份包含丰富内容的中文文档,它涵盖了NumPy库的各种特性和用法,旨在帮助用户学习和使用NumPy进行数据处理。无论是初学者还是有经验的用户,都可以从中获得有益的知识和技巧。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值