前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python之NumPy实践之数组和矢量计算

Python之NumPy实践之数组和矢量计算

作者头像
王小雷
发布2018-01-02 13:24:57
1.4K0
发布2018-01-02 13:24:57
举报
文章被收录于专栏:王小雷

Python之NumPy实践之数组和矢量计算

1. NumPy(Numerical Python)是高性能科学技术和数据分析的基础包。
2. NumPy的ndarray:一种对位数组对象。NumPy最重要的一个特点是其N维数组对象(即ndarray),该对象是是一个快速而灵活的大数据集容器。
3. 创建ndarray
代码语言:javascript
复制
    data1 = [1,2.4,4,3,0]
    arr1 = np.array(data1)
    除np.array可以创建新数组之外,zeros和ones分别可以创建指定长度或形状的全0或全1数组。empty可以创建一个没有任何具体值的数组。
4. arrage是Python内置函数range的数组版。
5. eye、identity 创建一个正方N x N单位矩阵(对角线为1,其余为0)
6. NumPy主要数据类型:浮点型、复数、整数、布尔值、字符串还有普通的Python对象。
7. 数组和标量之间的计算:数组可以代替循环对数据执行批量操作。这通常称为矢量化(Vectorization)。
8. 不同大小的数组之间的运算叫做广播。
9. 基本的索引和切片
代码语言:javascript
复制
    索引:NumPy数组的索引是一个内容丰富的主题,因为选取数据子集或者单个元素的方式有很多。
    切片:跟列表最重要的区别在于,数组切片是原始数组的视图。
10. 切片索引:切片是沿着一个轴向选取元素的,可以一次传入多个切片,就像传入多个索引那样。
11. 花式索引(Fancy indexing)是NumPy术语,它指的是利用整数数组进行索引。
12. 数组装置和轴对换:
代码语言:javascript
复制
    转置(transpose)是重塑的一种特殊形式,它返回的是源数据的视图(不会进行任何复制操作)。
    对于高维数组,transpose需要得到一个由轴编号组成的元组才能对这些轴进行转置。
13. 通用函数:快速的元素级数组函数。通用函数(即ufunc)是一种对ndarray中的数据执行元素级运算的函数。
14. 利用数组进行数据处理
代码语言:javascript
复制
NumPy数组使得可以将许多数据处理任务表述为简洁的数组表达式。用数组表达式代替循环的做法,通常被称为矢量化。
15. 将条件逻辑表述为数组运算:numpy.where函数是三元表达式x if condition else y 的矢量版本。
16. 排序
代码语言:javascript
复制
    NumPy数组也可以通过sort方法就地排序,多维数组可以在任何一个轴向上进行排序,只需将轴编号传给sort即可.
    顶级方法np.sort返回的是数组的已排序副本,而就地排序则会修改数组本身。
17. 用数组的文件进行输入输出
代码语言:javascript
复制
    将数组以二进制格式保存到磁盘:np.save和np.load
    存取文本文件:pandas中的read_csv和read_table函数;np.loadtxt或np.genfromtxt
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Python之NumPy实践之数组和矢量计算
    • 1. NumPy(Numerical Python)是高性能科学技术和数据分析的基础包。
      • 2. NumPy的ndarray:一种对位数组对象。NumPy最重要的一个特点是其N维数组对象(即ndarray),该对象是是一个快速而灵活的大数据集容器。
        • 3. 创建ndarray
          • 4. arrage是Python内置函数range的数组版。
            • 5. eye、identity 创建一个正方N x N单位矩阵(对角线为1,其余为0)
              • 6. NumPy主要数据类型:浮点型、复数、整数、布尔值、字符串还有普通的Python对象。
                • 7. 数组和标量之间的计算:数组可以代替循环对数据执行批量操作。这通常称为矢量化(Vectorization)。
                  • 8. 不同大小的数组之间的运算叫做广播。
                    • 9. 基本的索引和切片
                      • 10. 切片索引:切片是沿着一个轴向选取元素的,可以一次传入多个切片,就像传入多个索引那样。
                        • 11. 花式索引(Fancy indexing)是NumPy术语,它指的是利用整数数组进行索引。
                          • 12. 数组装置和轴对换:
                            • 13. 通用函数:快速的元素级数组函数。通用函数(即ufunc)是一种对ndarray中的数据执行元素级运算的函数。
                              • 14. 利用数组进行数据处理
                                • 15. 将条件逻辑表述为数组运算:numpy.where函数是三元表达式x if condition else y 的矢量版本。
                                  • 16. 排序
                                    • 17. 用数组的文件进行输入输出
                                    相关产品与服务
                                    大数据
                                    全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
                                    领券
                                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档