前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >Python数据分析之numpy

Python数据分析之numpy

原创
作者头像
阿巴阿巴-
发布2025-03-03 11:01:20
发布2025-03-03 11:01:20
6100
代码可运行
举报
运行总次数:0
代码可运行

Numpy是Python中基于数组对象的科学计算库。

NumPy 中最重要的对象是多维数组(ndarray),ndarray 是 N-dimensional array,即 N 维数组。

numpy比math库在许多计算上更方便。

我们最初使用numpy的目的,是想利用它强大的向量运算功能。

代码语言:javascript
代码运行次数:0
复制
>>> np.zeros(10)
array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])
>>> np.ones(10)
array([1., 1., 1., 1., 1., 1., 1., 1., 1., 1.])
默认生成的是浮点数,numpy 会省略小数点后的 0,因此 1.0 和 0.0 变成了 1. 和 0.
ones = np.ones(3, dtype='int')
print(ones)
# 输出:[1 1 1]

一维数组

代码语言:javascript
代码运行次数:0
复制
import numpy as np
data = np.array([1, 2, 3])    #该数组是一维的
print(data)
# 输出:[1 2 3]
print(type(data))
# 输出:<class 'numpy.ndarray'>

打印出来的多维数组和列表也很像,只是少了分隔的逗号。

列表间只有加法操作,作用是将两个列表的元素合并在一起。而多维数组间可以进行加减乘除的四则运算,运算规则也很简单:将两个数组中对应位置的元素一一进行运算。

小贴士:两个多维数组的形状必须一致才能进行四则运算,可以简单地理解为长度一样。

举个栗子:

代码语言:javascript
代码运行次数:0
复制
data = np.array([1, 2])
ones = np.ones(2)
print(data + ones)
# 输出:[2. 3.]

除了多维数组间的四则运算,多维数组直接和数字进行计算的方式也很常用,举个例子:

代码语言:javascript
代码运行次数:0
复制
data = np.array([1, 2])
print(data + 1)
# 输出:[2 3]

多维数组和数字的四则运算会作用在数组中的每个元素上,这在 numpy 中被称为 Broadcasting。

Broadcasting 的本义为“大范围传播、投射”。

用在媒体中,就是我们熟知的“广播”(广泛将信息传播给大众),用在数组运算中,就是“大范围地将运算应用到全部元素”的意思。

根据 Broadcasting 规则,[1 2] + 1 相当于 [1 2] + [1 1],因此结果为 [2 3]。其余的减乘除同样如此。

如果用列表来写更复杂:

代码语言:javascript
代码运行次数:0
复制
data = []
for i in [1, 2]:
  data.append(i + 1)
print(data)
# 输出:[2, 3]

用 numpy 求平均数——用mean()方法

代码语言:javascript
代码运行次数:0
复制
player1 = np.array([7, 9, 10, 9, 11, 13, 10, 10, 11, 10])
player2 = np.array([7, 9, 8, 9, 11, 10, 11, 12, 10, 13])
player3 = np.array([3, 7, 10, 3, 6, 30, 10, 7, 11, 13])
print('球员1的平均得分为', player1.mean())
print('球员2的平均得分为', player2.mean())
print('球员3的平均得分为', player3.mean())
#注意此处print的格式 '****',****
输出的格式是逗号换为空格
>>> print(1,2,3)
1 2 3

类似的还有求最大值的 max() 方法、求最小值的 min() 方法、求和的 sum() 方法等

代码语言:javascript
代码运行次数:0
复制
# 单层嵌套列表
nested_list = [[1, 2], [3, 4]]
print(nested_list)
# 输出:[[1, 2], [3, 4]]
 
# 二维数组
data = np.array(nested_list)
print(data)
# 输出:
# [[1 2]
#  [3 4]]

>>> import numpy as np
>>> a=np.arange(0,60,5)
>>> a=a.reshape(3,4)
>>> a
array([[ 0,  5, 10, 15],
       [20, 25, 30, 35],
       [40, 45, 50, 55]])

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档