Python数据分析 Numpy 的使用方法

yizhihongxing

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日

相关文章

  • 2023年企业服务行业6大CRM客户关系管理系统盘点

    本文首先分析了企业服务行业5大业务场景以及选型标准,盘点了目前适合企业服务行业的六大CRM系统服务商并进行了深入分析。希望帮到你 对于企业而言,今天的世界,唯一不变的就是变化,尤其是数字化时代,应对变化成为企业经营增长的必修课。当下,企业数字化转型已经进入深水区,单一的产品和技术创新已经越来越难以满足更加系统和复杂的转型需求,以业务经营为目标的发展诉求,使得…

    云计算 2023年4月25日
    00
  • Avaya大中华区CTO李农:阿里云计算巢加快Avaya应用云部署

    以下是其演讲实录: 【图:Avaya大中华区首席技术官李农】   很多人可能对Avaya还不熟悉,但其实走到大街上到处都是Avaya的影子。北京的标志性建筑中国尊,全部使用了Avaya最新基于安卓系统的智能平面终端;北京大兴新机场,东航基地全部采用了Avaya企业通信平台;上海的迪士尼、北京的环球影城、广州珠海的长隆乐园,也都使用了Avaya的企业通信或呼叫…

    云计算 2023年4月11日
    00
  • ASP.NET连接数据库并获取数据方法总结

    下面是 ASP.NET 连接数据库并获取数据方法总结的详细攻略。 1. 数据库连接字符串 首先我们需要在应用程序中配置数据库连接字符串,在 Web.config 文件中添加 connectionStrings 节点,示例如下: <connectionStrings> <add name="MyConnectionString&qu…

    云计算 2023年5月17日
    00
  • 24位腾讯云专家精彩演讲,4万字《腾讯云技术实践精选集 2021》发布!(附合集下载)

    摘要 随着创新技术的发展,数字经济也迎来了新的风口。新风口下,企业该如何进行云原生改造,实现成本优化?如何对基础架构和数据库技术进行创新,化解可用性、可靠性、高并发、性能、稳定性等难题? 腾讯云近期发布的《腾讯云技术实践精选集 2021》,旨在将过往积累的成功技术和解决方案经验,向外部技术同仁赋能输出,推动产业升级,促进业务创新。 听:技术专家真知灼见 《腾…

    云计算 2023年4月11日
    00
  • 云计算相关的一些概念Baas、Saas、Iaas、Paas

    BaaS(后端即服务:Backend as a Service)公司为移动应用开发者提供整合云后端的边界服务。 SaaS(软件即服务:Software as a Service)提供了完整的可直接使用的应用程序,比如通过 Internet管理企业资源。 IaaS(基础设施即服务:Infrastructure as a Service)消费者通过Interne…

    云计算 2023年4月11日
    00
  • 浅谈SegmentFault对网站架构的改进与优化

    浅谈SegmentFault对网站架构的改进与优化 简介 SegmentFault是一个面向开发者的学习社区,提供技术问答、技术文章、技术沙龙等服务,旨在为开发者提供一个优质的学习和交流平台。为了提高用户体验和提升系统性能,SegmentFault不断对其网站架构进行改进与优化。 改进与优化 1. 引入分布式架构 随着用户量的不断增加,SegmentFaul…

    云计算 2023年5月17日
    00
  • 刺激2019:从AWS和阿里云看云计算疯狂的一年

    云计算从业者有个不成文的条约:国外看AWS,国内看阿里云。 怎么个看法?AWS的 re:Invent大会 有6万多人参加,阿里云的杭州云栖大会有4万多人参加。这个比例竟与两家巨头的母公司市值出奇一致——亚马逊8千多亿,阿里巴巴5千多亿。 每到深秋入冬时节,全球顶级工程师都聚在拉斯维加斯和杭州进行一场朝圣之旅,汲取两位风向标大佬的思考和灵感。 如果说re:In…

    云计算 2023年4月13日
    00
  • openstack云计算组件glance功能镜像及版本介绍

    OpenStack云计算组件Glance功能镜像及版本介绍 OpenStack是一个开源的云计算平台,由多个组件构成,其中Glance是OpenStack的镜像服务组件。Glance提供了镜像的存储、管理和共享功能,是OpenStack云计算平台中非常重要的组件之一。以下是OpenStack云计算组件Glance功能镜像及版本介绍的详细攻略,包括以下内容: …

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