numpy简介

一、numpy在数据分析的应用:

  • 在数据处理、清洗、构造子集、过滤、变换以及其他计算中进行快速的向量化计算
  • 常见的数组算法,比如sort、unique以及set操作等
  • 高效的描述性统计和聚合、概述数据
  • 数据排列和相关数据操作,例如对异构数据进行merge和join
  • 使用数组表达式来表明条件逻辑,代替if-elif-else条件分支的循环。
  • 分组数据的操作(聚合,变换以及函数式操作)

二、numpy的优势

下面的例子将展现numpy的不同,假设一个numpy数组包含100万个整数,还有一个同样数据内容的python列表:

import numpy as np
my_arr = np.arange(100000)
my_list = list(range(100000))

现在我们同时对每个序列乘以2:

%time for i in range(10): my_arr2 = my_arr * 2
CPU times: user 1.31 ms, sys: 4.08 ms, total: 5.39 ms
Wall time: 4.95 ms
%time for i in range(10): my_list2 = [x * 2 for x in my_list]
CPU times: user 77.3 ms, sys: 8.11 ms, total: 85.4 ms
Wall time: 84.9 ms

由此可以看出,numpy的方法比python方法快10到100倍,并且使用的内存也更少

三、numpy ndarray:多维数组对象

为了让你感受下numpy如何使用类似于python内建对象的标量计算语法进行批量计算,这里举一个例子:

data = np.random.randn(2, 3)
data
array([[-0.95909317, -0.86735722, -2.12730064],
       [ 1.55107167,  0.34639641,  0.98348208]])

然后给data加上一个数学操作:

data * 10
array([[ -9.59093173,  -8.67357218, -21.27300638],
       [ 15.51071672,   3.46396414,   9.83482081]])
data + 10
array([[  9.04090683,   9.13264278,   7.87269936],
       [ 11.55107167,  10.34639641,  10.98348208]])
data + data
array([[-1.91818635, -1.73471444, -4.25460128],
       [ 3.10214334,  0.69279283,  1.96696416]])

每个数据都有一个shape属性,用来表征数组每一维度的数量;每一个数组都有一个dtype属性,用来描述数组的数据类型:

data.shape
(2, 3)
data.dtype
dtype('float64')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值