Python数据分析 Numpy 的使用方法

Python数据分析 Numpy 的使用方法

Numpy 是 Python 中优秀的科学计算库,提供了高效的数组处理与计算功能。在数据分析领域,Numpy 有着极其广泛的应用,本文将详细讲解 Numpy 的使用方法,包括:

  1. Numpy 数组的创建与常见操作
  2. Numpy 的数组索引与切片
  3. Numpy 的数组运算
  4. Numpy 的广播机制
  5. Numpy 的常用函数

1. Numpy 数组的创建与常见操作

1.1 创建数组

创建一个 Numpy 数组非常简单,我们只需要传入一个列表或元组即可:

import numpy as np

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

运行上述代码,输出结果如下:

[1 2 3]

我们还可以通过传入元组来创建 Numpy 的多维数组:

b = np.array([(1,2,3), (4,5,6)])
print(b)

运行上述代码,输出结果如下:

[[1 2 3]
 [4 5 6]]

1.2 常见属性

Numpy 数组有以下三个常见属性:

  • ndim: 数组的维度
  • shape: 数组的形状
  • size: 数组的元素总数
print(a.ndim) # 1
print(b.ndim) # 2

print(a.shape) # (3,)
print(b.shape) # (2, 3)

print(a.size) # 3
print(b.size) # 6

2. Numpy 的数组索引与切片

2.1 索引

Numpy 数组的索引方式与 Python 列表相同,我们可以通过 [ ] 操作符来访问数组中的元素:

print(a[0]) # 1

print(b[0, 0]) # 1
print(b[1, 2]) # 6

2.2 切片

我们还可以使用切片来访问 Numpy 数组中的元素。与 Python 的切片方式相同,Numpy 也可以使用 [start:end:step] 来设置切片的起始位置、结束位置以及步长。

print(a[0:2]) # [1 2]
print(b[0:2, 0:2]) # [[1 2]
                   #  [4 5]]

print(b[:, 1]) # [2 5]

3. Numpy 的数组运算

3.1 算术运算

Numpy 数组支持常见的算术运算,例如加、减、乘、除等。对于任何两个相同形状的 Numpy 数组,都可以进行算术运算。

a = np.array([1, 2, 3])
b = np.array([4, 5, 6])

print(a + b) # [5 7 9]
print(a - b) # [-3 -3 -3]
print(a * b) # [ 4 10 18]
print(b / a) # [4.  2.5 2. ]
print(a ** 2) # [1 4 9]

3.2 矩阵运算

Numpy 数组支持矩阵运算,例如矩阵乘法等。我们可以使用 np.dot() 函数来进行矩阵乘法:

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

print(np.dot(a, b)) # [[19 22]
                    #  [43 50]]

4. Numpy 的广播机制

在 Numpy 中,两个不同形状的数组之间也可以进行算术运算,这个过程被称为广播。Numpy 的广播机制是指,如果两个数组的形状不同,Numpy 将自动调整数组的形状,使它们可以进行算术运算。

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

print(a + b) # [3 4 5]

5. Numpy 的常用函数

5.1 数学函数

Numpy 中有很多常用的数学函数,例如 sin、cos、exp 等。这些函数都直接作用于 Numpy 数组。

a = np.array([0, np.pi/2, np.pi])

print(np.sin(a)) # [0.         1.         0.0000000e+00]
print(np.cos(a)) # [ 1.000000e+00  6.123234e-17 -1.000000e+00]
print(np.exp(a)) # [ 1.          4.48168907 23.14069263]

5.2 统计函数

Numpy 中还有很多统计函数,例如 mean、std、var 等。这些函数可以用于计算 Numpy 数组的统计信息。

a = np.array([(1,2,3), (4,5,6)])

print(np.mean(a)) # 3.5
print(np.mean(a, axis=0)) # [2.5 3.5 4.5]
print(np.mean(a, axis=1)) # [2. 5.]
print(np.std(a)) # 1.707825127659933
print(np.var(a)) # 2.9166666666666665

至此,Numpy 的使用方法已经介绍完毕,希望本文能对大家有所帮助!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python数据分析 Numpy 的使用方法 - Python技术站

(0)
上一篇 2023年5月18日
下一篇 2023年5月18日

相关文章

  • 云钉一体加速,阿里云计算巢与钉钉深度融合、共建应用新生态

    ​简介:云合计划再升级,“云钉一体”战略按下加速键。 1月13日,阿里云宣布云合计划再升级,计算巢与钉钉深度融合互通,实现一键上云、一键上钉钉,助力软件厂商更快地完成技术升级,更好地专注于自身的产品创新和客户服务,为“云钉一体”战略按下加速键。 ​ 【图:云钉一体阿里云计算巢整合策略发布会】阿里巴巴集团副总裁、阿里云销售管理与生态发展部总经理郭继军在阿里云计…

    云计算 2023年4月12日
    00
  • python数据分析apply(),map(),applymap()用法

    当我们进行Python数据分析的时候,经常会需要进行数据清洗、过滤、分组等操作。在这些过程中,apply(),map(),applymap()是我们经常用到的三个函数。下面就详细讲解一下这三个函数的使用方法: apply()函数 apply()函数是Pandas中自带的一个函数,可以用于对行或列进行函数操作。 语法格式 DataFrame.apply(fun…

    云计算 2023年5月18日
    00
  • 云原生周刊:K8s 在 v1.27 中移除的特性和主要变更

    文章推荐 K8s 在 v1.27 中移除的特性和主要变更 随着 Kubernetes 发展和成熟,为了此项目的整体健康,某些特性可能会被弃用、移除或替换为优化过的特性。基于目前在 v1.27 发布流程中获得的信息,本文将列举并描述一些计划在 Kubernetes v1.27 发布中的变更, 发布工作目前仍在进行中,可能会引入更多变更。 充分利用 Kubern…

    云计算 2023年4月17日
    00
  • 新推出的金融版eXtremeDB 6.0功能改进预览

    新推出的金融版eXtremeDB 6.0功能改进预览 前言 eXtremeDB 6.0是一款快速、可靠的内存数据库管理系统。它在金融领域得到广泛应用。新版本的eXtremeDB 6.0中包含了许多重要的功能改进,本篇文章将针对金融版eXtremeDB 6.0的新功能进行详细讲解。 主要功能改进 1. 支持多种数据类型 eXtremeDB 6.0新增了对多种数…

    云计算 2023年5月18日
    00
  • 微信小程序 封装http请求实例详解

    微信小程序 封装http请求实例详解 简介 在微信小程序开发中,经常需要通过 HTTP 请求后端 API 来获取数据。为减少代码冗余并使功能模块化,我们可以将 HTTP 请求封装在可复用的模块中。减少重复代码的同时,也方便代码的维护和升级。 axios 库 针对HTTP请求处理,可以使用 axios 库,这是一个基于 Promise 的 HTTP 库,可运行…

    云计算 2023年5月17日
    00
  • 微软分布式云计算框架Orleans(1):Hello World

        自从写了RabbitHub框架系列后的一段时间内一直在思索更加轻量简便,分布式高并发的框架(RabbitHub学习成本较高),无意间在网上级联看到了很多新框架:从helios到Akka.NET在到Orleans在到Azure Service Fabric,最终选择了Orleans作为研究对象,理由是微软官方出品,Service Fabric还没有正式…

    2023年4月9日
    00
  • 云计算时代前端如何保证开源代码的安全性

    云技术和我们的生活息息相关,日常生活中访问的网页,刷的短视频,用的云盘等都是云计算提供的服务。那在云计算时代,前端可以做什么呢? 作者:京东零售  张梦雨 云技术和我们的生活息息相关,日常生活中访问的网页,刷的短视频,用的云盘等都是云计算提供的服务。那在云计算时代,前端可以做什么呢? 一、云技术与前端 在前端发展初期,前端只需完成静态页面和交互的开发即可,然…

    2023年4月10日
    00
  • 云计算有SaaS、PaaS、IaaS三种模式,云计算都有哪些具体的应用场景呢?

    云计算主要有SaaS、PaaS、IaaS三种模式,那么云计算都有哪些具体的应用场景呢? 云教育很多时候被简单地归纳为「在线教育」,成为某些教育机构高大上的包装外壳。但实际上,云计算能够在校园系统、远程教育、公开课MOOC、数据归档、协同教学等多种教育场景中得到应用,降低教育成本,实现资源的共享和更新。 Coursera 著名MOOC在线学习平台,提供在线课程…

    云计算 2023年4月12日
    00
合作推广
合作推广
分享本页
返回顶部