学习Python数据分析(2.1)----Numpy数组以及数组的操作

学习了几天,第二章,关于NumPy数组的基础部分,这里做一个简单摘要;该章节主要是关于数组的多种操作——组合、数据类型、设置维度和分割等。

1 . Numpy 数组对象
创建一个3X3的多维数组,并显示该数组维度

>>> from numpy import *
>>> m=array([arange(3),arange(3),arange(3)])
>>> m
array([[0, 1, 2],
       [0, 1, 2],
       [0, 1, 2]])
>>> m.shape
(3, 3)
>>>

2 . Numpy数据类型

Python支持的数据类型有整型、浮点型以及复数型,但这些类型不足以满足科学计算的需求,因此NumPy添加了很多其他的数据类型。在实际应用中,我们需要不同精度的数据类型,它们占用的内存空间也是不同的。在NumPy中,大部分数据类型名是以数字结尾的,这个数字表示其在内存中占用的位数。
数据类型转换

>>> float64(36)
36.0
>>> int8(36.0)
36
>>> bool(36)
True
>>> bool(0)
False
>>> float(True)
1.0
>>> float(False)
0.0
>>>

创建自定义数据类型

>>> t=dtype([('name', str_, 40), ('numitems', int32), ('price',float32)])
>>> t
dtype([('name', '<U40'), ('numitems', '<i4'), ('price', '<f4')])
>>>

查看数据类型

>>> t['name']
dtype('<U40')
>>>

3 . 一维数组的切片

>>> from numpy import *
>>> a = arange(16)
>>> a[4:7]
array([4, 5, 6])
>>>

4 . 多维数组的切片和索引

>>> b = arange(24).reshape(2,3,4)
>>> b.shape
(2, 3, 4)
>>> b
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]]])
>>>

5 . 数组的组合

>>> a = arange(16).reshape(4,4)
>>> a
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11],
       [12, 13, 14, 15]])
>>> b=2*a
>>> b
array([[ 0,  2,  4,  6],
       [ 8, 10, 12, 14],
       [16, 18, 20, 22],
       [24, 26, 28, 30]])
>>>

水平组合

>>> hstack((a,b))
array([[ 0,  1,  2,  3,  0,  2,  4,  6],
       [ 4,  5,  6,  7,  8, 10, 12, 14],
       [ 8,  9, 10, 11, 16, 18, 20, 22],
       [12, 13, 14, 15, 24, 26, 28, 30]])
>>> concatenate((a,b),axis=1)
array([[ 0,  1,  2,  3,  0,  2,  4,  6],
       [ 4,  5,  6,  7,  8, 10, 12, 14],
       [ 8,  9, 10, 11, 16, 18, 20, 22],
       [12, 13, 14, 15, 24, 26, 28, 30]])
>>>

6 . 数组的属性

>>> b
array([[ 0,  2,  4,  6],
       [ 8, 10, 12, 14],
       [16, 18, 20, 22],
       [24, 26, 28, 30]])

ndim属性,给出数组的维数,或数组轴的个数

>>> b.ndim
2
>>>

size属性,给出数组元素的总个数

>>> b.size
16

itemsize属性,给出数组中的元素在内存中所占字节数

>>> b.itemsize
4

这部分主要是对Numpy有个概念性的认识和掌握,在以后实际需要的时候,能够想到使用Numpy 序列。

参考 《Numpy Beginner’s Guide–Second Edition》Ivan Idris

                                     <OVER>

猜你喜欢

转载自blog.csdn.net/liujingqiu/article/details/78829998