《Python数据分析与展示》学习笔记(一)numpy入门

中国大学mooc,北京理工大学课程的个人笔记
课程地址:
http://www.icourse163.org/course/BIT-1001870002#/info

一.数据分析的基础
Python在数据科学领域有一套成熟的工具链,numpy就是整个工具链的基础构件,就像数字电路中的与非门,是其他复杂电路的基础。
numpy在数学中对应的理论就是线性代数,numpy的核心是提供了ndarray这个N维数组对象,而这个N维数组对象本质是对应了线性代数中的矩阵的概念。
通过模仿矩阵运算来提高计算的效率,如何模仿矩阵运算,也是他和其他Python数据结构的关键区别:
去掉元素间运算所需要的循环
这样使得程序员能够利用numpy提供的这种抽象,用矩阵的方式来计算,可以极大的提高计算的效率

二.numpy对象的理解
作为一个看过《Python源码剖析》的人,我对numpy中ndarray这个对象的实现有一些推测。
Python的CPython实现中,一切都是对象,具体来说,所有东西就对应了一个C语言的结构体。
同时课程中老师也说了,ndarray由两部分构成:
一是实际的数据,
二是描述数据的元数据,即对象的属性。
也就可以猜测,ndarray的实现与list相似,实际数据部分是由一个指针来链接,而所谓的对象属性,则可能是结构体中的属性。

三.学习思路
(1)把numpy当做一个数据结构来学,主要学习对外提供的接口,细分为:
1.创建
2.变换
3.索引切片
4.运算
(2)结合线性代数理解概念:
维度,秩,轴等。
(3)具体的使用看老师的PPT就好了。

你可能感兴趣的:(python)