数据蛙数据分析每周作业

Numpy之ndarry

2018-12-30  本文已影响5人  木子兜兜

这周因为考科三耽误了学习,希望能借元旦假期赶上进度。

列表:数据类型可以不同 e.g. 3.14, ‘pi’,’3.141’,[3.141,3.14]

数组:数据类型相同 e.g. 3.14,3.141,3.134,3.12

Numpy是一个开源的python科学计算基础库,ndarray是其一个强大的N维数据对象

Python已经有了列表类型,为什么还需要一个数组对象呢?

举个例子,现在有AB两个一维数组,要计算A^2+B^3,如果直接计算的话,我们元素间需要使用循环运算for i in range(len(a)),但是用numpy的ndarray的话不需要使用循环,使一维数据更像单个数据,可以直接计算。

ndarray数组一般要求所有元素类型相同,数组下标从0开始。

np.array()生成一个ndarray,ndarray的别名是array

np.array()输出成[]形式,元素由空格分割

ndarray对象的属性如下:

属性的使用如下:

例如对于 a=np.array([[0,1,2,3,4],

                                [5,6,7,8,9]])

a.ndim==>2

a.shape==>(2,5)

a.size==>10

a.dtype==>dtype(‘int32’)

a.itemsize==>4

如果是非同质的ndarray对象

例如x=np.array([[0,1,2,3,4],

                        [5,6,7,8]])

x.shape==>(2,)

x.dtype==>dtype(‘0’)

x.itemsize==>4

x.size==>2

非同质ndarray对象无法发挥Numpy的优势,应该尽量避免使用

ndarray的创建方法1.从python中的列表,元组等类型创建

2.使用Numpy中函数创建,如:arange,ones,zeros等

一维数组的索引和切片与python的列表类似

e.g.a=np.array([9,8,7,6,5])

a[2]==>7

a[1:4:2]==>([8,6])

多维数组的索引,每个维度一个索引值,逗号分割

e.g.a=np.arrage(24).reshape((2,3,4))

a==>array([[[0,1,2,3],

                  [4,5,6,7],

                  [8,9,10,11]],

                  [[12,13,14,15],

                  [16,17,18,19],

                  [20,21,22,23]]])

a[1,2,3]==>23

a[0,1,2]==>6

a[-1,-2,-3]==>17

未完待续

(没有电脑实在不方便,其他内容和代码晚点再附上吧~)

上一篇 下一篇

猜你喜欢

热点阅读