站在巨人的肩膀上,你能看得更远,也会摔得更重。
NumPy来源:
Numpy的爸爸叫Numeric,妈妈叫Numarray。这两个libs生了NumPy。NumPy是Python里的数据民工,继承了父母强大的科学计算能力。
强项:
NumPy之所以强大是因为有ndarray对象。
ndarray对象封装了相同数据类型的n维数组,可对数据进行矢量化vectorization操作。
NumPy还有其他技能:
广播功能
基本线性代数函数
基本傅里叶变换
复杂的随机数功能
可用于集成Fortran
可用于集成C / C ++
对比Python:
NumPy数组和Python序列的重要区别:
NumPy ; Python
array大小:numpy一创建就固定 ;Python的list可动态增长。
数据类型:相同(可有object类型);list可以不同类型
效率: 高,方便对大量数据操作; 低,要很多for loop
下面主要介绍重要对象ndarray的
属性
增维
多array操作
copies and views:
根本不copy
View or shallow copy
deep copy
对象ndarray的几个属性:
增维
多个array的操作:
array对象有三个东东:
对象有名字,而且可以有多个名字
对象有对象本身
对象有data数据资产
copy array有三种情况:
1,根本不copy。也就是不创建新的ndarray对象,只是新起个名字,比如,耕田也可以叫小牛,但是id身份证号都是同一个。
2,view或者浅拷贝。
array的view可以看成是array的妻子。
array和array的view即妻子拥有共同的data数据资产。
妻子view挣了钱(改了data),array的钱也就多了。
3,深度copy。完全拷贝array和array的数据。
就像克隆了一头牛,还分了这牛一块地相等的地。这牛完全自立门户。
参考:
https://docs.scipy.org/doc/numpy/about.html
https://docs.scipy.org/doc/numpy/user/whatisnumpy.html
领取专属 10元无门槛券
私享最新 技术干货