03.向量化计算

定义:是一种特殊的并行计算的方式,可以同一时间执行多次操作,通常是对不同的数据执行同一个或同一批指令。主要用于pandas的Series系列和DataFrame数据框。

1.生成等差数组

numpy.arange(start, end, step),取值前闭后开。

import numpy
r = numpy.arange(0.1, 1, 0.1)
Out[180]: array([ 0.1,  0.2,  0.3,  0.4,  0.5,  
0.6,  0.7,  0.8,  0.9])

2.四则计算与函数计算

相同位置的数据进行四则或函数计算,返回的结果保存在相同位置。

#numpy的乘方函数power
numpy.power(r, 5)  #r的五次方
Out[182]: 
array([  1.00000000e-05,   3.20000000e-04,   2.43000000e-03,
         1.02400000e-02,   3.12500000e-02,   7.77600000e-02,
         1.68070000e-01,   3.27680000e-01,   5.90490000e-01])

3.比较运算

r > 0.3
Out[183]: array([False, False,  True,  True,  True,  
True,  True,  True,  True], dtype=bool)

#结合过滤一起使用,如果是True就保留,如果是False就过滤
r[r>0.3]
Out[184]: array([ 0.3,  0.4,  0.5,  0.6,  0.7,  0.8,  0.9])

4.矩阵运算

numpy.dot(r, r.T)
Out[185]: 2.8500000000000005

5.数据框运算

numpy.random.randn生成随机数的数据框

from pandas import DataFrame
df = DataFrame({
    'column1': numpy.random.randn(5),
    'column2': numpy.random.randn(5),
    'column3': numpy.random.randn(5)    
})
Out[187]: 
    column1   column2   column3
0 -0.611932 -1.690942  0.092462
1 -0.765934  0.794254  1.123755
2 -1.591180  0.340763 -0.232495
3  1.463467 -0.588498 -0.208558
4 -0.338739  0.907178 -1.146147

#apply()调用数据框的每一列传递给min函数,由其选出每一列的最小值。
#二维数组有两个轴:第0轴沿行垂直往下,第1轴沿列水平延伸。
df.apply(min, axis=0)  #axis=0为默认值
Out[188]: 
column1   -1.591180
column2   -1.690942
column3   -1.146147
dtype: float64

df.apply(min, axis=1)
Out[189]: 
0   -1.690942
1   -0.765934
2   -1.591180
3   -0.588498
4   -1.146147
dtype: float64

#判断每个列,值是否都大于0
df.apply(
    lambda x: numpy.all(x>0),
    axis=1    
)
Out[191]: 
0    False
1    False
2    False
3    False
4    False
dtype: bool

#结合过滤
df[df.apply(
    lambda x: numpy.all(x>0),
    axis=1        
)]
Out[192]: 
Empty DataFrame
Columns: [column1, column2, column3]
Index: []
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 基础篇NumPy的主要对象是同种元素的多维数组。这是一个所有的元素都是一种类型、通过一个正整数元组索引的元素表格(...
    oyan99阅读 5,278评论 0 18
  • 和apply类似的还有applymap和map, apply() 和applymap()是DataFrame数据类...
    马尔克ov阅读 1,245评论 0 0
  • 先决条件 在阅读这个教程之前,你多少需要知道点python。如果你想从新回忆下,请看看Python Tutoria...
    舒map阅读 2,714评论 1 13
  • NumPy是Python中关于科学计算的一个类库,在这里简单介绍一下。 来源:https://docs.scipy...
    灰太狼_black阅读 1,329评论 0 5
  • 单位:123图书馆 岗位:财务总监123tsg.com 行为事件面试工具的开发 1、请您简单介绍一下个人学习、工作...
    大头圆儿儿儿阅读 197评论 0 0

友情链接更多精彩内容