Numpy的一些常用功能,以备查询

原文:NumPy Cheat Sheet — Python for Data Science

译文:【NumPy】NumPy实战

NumPy是使Python能够快速处理数据的库。最初于1995年以“Numeric”推出的NumPy是构建许多重要的Python数据科学库的基础,包括Pandas,SciPy和scikit-learn。

本文中,我们使用以下简写:
arr
: 一个NumPy数组对象

需要导入numpy才能开始使用:

import numpy as np

导入/导出

np.loadtxt('file.txt')| 从文本文件
np.genfromtxt('file.csv',delimiter=',')| 从CSV文件
np.savetxt('file.txt',arr,delimiter=' ')| 写入文本文件
np.savetxt('file.csv',arr,delimiter=',')| 写入CSV文件

 

创建数组

np.array([1,2,3])| 一维数组
np.array([(1,2,3),(4,5,6)])| | 二维数组
np.zeros(3)| | 1D数组长度的3所有值0
np.ones((3,4))| 包含所有值的3x 4数组1
np.eye(5)| | 5X 5的阵列0与1上对角(单位矩阵)
np.linspace(0,100,6)| 6从| 0到100
np.arange(0,10,3)| 的均匀分割值的数组 从步长(例如)| 0到小于数值的数组 包含所有值的x 数组| | X 之间的随机浮标阵列- | X 之间的随机浮标阵列- | 随机整数之间的x 数组-103[0,3,6,9]
np.full((2,3),8)238
np.random.rand(4,5)4501
np.random.rand(6,7)*100670100
np.random.randint(5,size=(2,3))2304

 

矩阵操作

import numpy as np
# 矩阵的创建
    A = np.mat([[1, 2], [3, 4]])
    print(A)

    # 矩阵的属性
    print(A.shape)  # 返回矩阵的行数和列数
    print(A.T)  # 矩阵的转置
    print(A.I)  # 矩阵的逆矩阵

    # 获取矩阵的元素
    print(A[1, 1])  # 获取矩阵A中第一行第一列的元素(索引从0开始计算)
    print(A[0])  # 获取矩阵的第一行
    print(A[:, 0])  # 获取矩阵的第一列
    print(A[1, :])  # 获取矩阵的第二行

    # 矩阵的基本运算
    B = np.mat([[5, 6], [7, 8]])
    print(A+B)  # 矩阵的加法
    print(A-B)  # 矩阵的减法
    print(10*A)  # 矩阵的数乘
    print(A*10)

    print(A * B)  # 矩阵的逐个元素的乘法,与常规定义不一样
    print(B * A)
    print(A.dot(B))  # 矩阵的乘法,常规定义
    print(B.dot(A))

    p = np.mat([10, 100])
    print(A + p)  # 矩阵和向量的加法,矩阵的每一行都与向量相加,,线性代数也没有这种运算
    print(A + 1)  # 矩阵的每一个元素相加1

    print(A.dot(p))  # 矩阵和向量的乘法
--------------------- 
作者:one-fine 
来源:CSDN 
原文:https://blog.csdn.net/jiduochou963/article/details/89301403 
版权声明:本文为博主原创文章,转载请附上博文链接!



 

检查属性

arr.size| 返回arr
arr.shape|中的元素数 返回arr(行,列)
arr.dtype|的维度 返回arr
arr.astype(dtype)|中的元素类型 将arr元素转换为类型dtype
arr.tolist()| 转换arr为Python列表
np.info(np.eye)| 查看文档np.eye

 

复制/排序/整形

np.copy(arr)| 复制arr到新的记忆
arr.view(dtype)| 创建arr类型为dtype
arr.sort()| 的元素的视图 排序arr
arr.sort(axis=0)| 排序arr
two_d_arr.flatten()|的特定轴 将二维数组展平two_d_arr为1D 
arr.T| 转置arr(行成为列,反之亦然)
arr.reshape(3,4)| 重塑arr到3行,4列而不更改数据
arr.resize((5,6))| 将arr形状更改为5x 6并使用填充新值0

 

添加/删除元素

np.append(arr,values)| 将值附加到arr
np.insert(arr,2,values)|的末尾 将值插入到arr索引2
np.delete(arr,3,axis=0)| 之前 删除|的索引上3的行 arr
np.delete(arr,4,axis=1)在指数删除列4的arr

 

合成/分离

np.concatenate((arr1,arr2),axis=0)| 将arr2行添加到arr1
np.concatenate((arr1,arr2),axis=1)| 的末尾 arr2作为列添加到arr1
np.split(arr,3)|的末尾 分割arr成3子数组
np.hsplit(arr,5)| | arr在5索引上水平分割

 

索引/切片/子集

arr[5]| 返回index元素5
arr[2,5]| 返回索引[2][5]
arr[1]=4| 上的二维数组元素 在索引1值4
arr[1,3]=10| 上指定数组元素 在索引[1][3]值10
arr[0:3]| 上指定数组元素 返回索引处的元素0,1,2(在二维数组上:返回行0,1,2)
arr[0:3,4]| 返回的行中的元素0,1,2在列4
arr[:2]| 返回索引处的元素0,1(在二维数组上:返回行0,1)
arr[:,1]| 返回1所有行
arr<5| 上索引处的元素 返回一个带有布尔值
(arr1<3) & (arr2>5)| 的数组 返回一个带有布尔值
~arr| 的数组 反转布尔数组
arr[arr<5]| | 返回小于的数组元素5

 

标量数学

np.add(arr,1)| 添加1到每个数组元素
np.subtract(arr,2)| 2从每个数组元素减去
np.multiply(arr,3)| 用3
np.divide(arr,4)| 将每个数组元素相乘 将每个数组元素除以4(除以np.nan零的返回值)
np.power(arr,5)| 提高每个数组元素的5权力

 

矢量数学

np.add(arr1,arr2)| Elementwise添加arr2到arr1
np.subtract(arr1,arr2)| arr2从arr1
np.multiply(arr1,arr2)|中减去元素 按元素相乘arr1由arr2
np.divide(arr1,arr2)| 按元素划分arr1由arr2
np.power(arr1,arr2)| 元素提升arr1提升到arr2
np.array_equal(arr1,arr2)| 的力量 返回True数组是否具有相同的元素和形状
np.sqrt(arr)| 数组
np.sin(arr)| 中每个元素的平方根 阵列中每个元素的正弦
np.log(arr)| | 数组中每个元素的自然记录
np.abs(arr)| 数组中每个元素的绝对值
np.ceil(arr)| 舍入到最接近的int 
np.floor(arr)| 舍入到最接近的int 
np.round(arr)| 舍入到最接近的整数

 

统计

np.mean(arr,axis=0)| 返回沿特定轴
arr.sum()|的平均值 返回arr
arr.min()|的和 返回arr
arr.max(axis=0)|的最小值 返回特定轴
np.var(arr)|的最大值 返回数组
np.std(arr,axis=1)| 的方差 返回特定轴
arr.corrcoef()| 的标准偏差 返回数组的相关系数

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【为什么要学习NumpyNumPy是Python语言的一个扩展程序库。支持多维数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。Numpy是人工智能、数据分析从业者必备的知识和技能,也是学习后续Python扩展库(Matplotlib, SciPy, Pandas, Seaborn, Scikit-image等)的基础。【推荐你学习这门课的理由】(1)图文并茂:课程采用Jupyter Notebook讲解,图文并茂,讲述与Numpy代码对应。其文件将分享给学员,可作为交互式电子书使用。(2)案例丰富: 每个知识点均有Numpy代码示例说明;难点使用图解说明和讲述。另提供Numpy项目实战案例-鸢尾花数据集上的数据分析与计算。(3)内容全面系统:涵盖了Numpy的基础用法和高级用法,包括:ndarray、创建数组、复制数组数组访问、数组运算、数组操作、迭代数组、maskedarray、结构化数组、通用函数、数学函数、统计函数、排序函数、条件查找、随机数、字节交换、线性代数、数据文件读写等。   玩转是一种境界,显示了对该领域有很大的兴趣,并非常了解和能娴熟使用。希望本课程能帮助大家玩转Numpy!【优惠说明】 课程正在优惠中! 备注:购课后可加入白勇老师课程学习交流QQ群:957519975【相关课程】《玩转Matplotlib数据绘图库》课程链接:https://edu.csdn.net/course/detail/28720 《Python编程的术与道:Python语言入门》课程链接: https://edu.csdn.net/course/detail/27845  《Python编程的术与道:Python语言进阶》课程链接: https://edu.csdn.net/course/detail/28618 【课程体系结构图】  

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值