Python数据分析与展示(一)(基于北理MOOC)

NumPy库入门
Python数据分析与展示
.掌握表示、清洗、统计和展示数据的能力
1.1.1数据的维度
NumPy的主要对象是齐次多维数组。它是一个元素表(通常是数字),所有相同的类型,由正整数的元组索引。在NumPy维度被称为轴。轴的数量是等级。

例如,三维空间中一个点的坐标[1,2,1]是一个等级为1的数组,因为它具有一个坐标轴。该轴的长度为3.在下面的示例中,该数组具有等级2(它是二维的)。第一维(轴)的长度为2,第二维的长度为3。

[[ 1., 0., 0.],
 [ 0., 1., 2.]]

NumPy的数组类叫做ndarray。它也被别名数组所知 。请注意,numpy.array与标准Python库类array.array不一样,它只处理一维数组,并且提供较少的功能。ndarray对象的更重要的属性是:
Python数据分析与展示(一)(基于北理MOOC)_第1张图片
实例:

>>> import numpy as np
>>> a = np.arange(15).reshape(3, 5)
>>> a
array([[ 0,  1,  2,  3,  4],
       [ 5,  6,  7,  8,  9],
       [10, 11, 12, 13, 14]])
>>> a.shape
(3, 5)
>>> a.ndim
2
>>> a.dtype.name
'int64'
>>> a.itemsize
8
>>> a.size
15
>>> type(a)
<type 'numpy.ndarray'>
>>> b = np.array([6, 7, 8])
>>> b
array([6, 7, 8])
>>> type(b)
<type 'numpy.ndarray'>

ndarray的元素类型(1)
Python数据分析与展示(一)(基于北理MOOC)_第2张图片

ndarray的元素类型(2)
Python数据分析与展示(一)(基于北理MOOC)_第3张图片
这里写图片描述

ndarray的元素类型(3)
Python数据分析与展示(一)(基于北理MOOC)_第4张图片

实部(.real) + j虚部(.imag)

ndarray的元素类型

ndarray为什么要支持这么多种元素类型?

对比:Python语法仅支持整数、浮点数和复数3种类型
• 科学计算涉及数据较多,对存储和性能都有较高要求
• 对元素类型精细定义,有助于NumPy合理使用存储空间并优化性能
• 对元素类型精细定义,有助于程序员对程序规模有合理评估
非同质的ndarray对象
Python数据分析与展示(一)(基于北理MOOC)_第5张图片
ndarray数组可以由非同质对象构成

非同质ndarray元素为对象类型

非同质ndarray对象无法有效发挥NumPy优势,尽量避免使用

ndarray数组的创建
ndarray数组的创建方法
• 从Python中的列表、元组等类型创建ndarray数组
• 使用NumPy中函数创建ndarray数组,如:arange, ones, zeros等
• 从字节流(raw bytes)中创建ndarray数组
• 从文件中读取特定格式,创建ndarray数组
(1)从Python中的列表、元组等类型创建ndarray数组

x   = np.array(list/tuple)
x   = np.array(list/tuple, dtype=np.float32)

当np.array()不指定dtype时,NumPy将根据数据情况关联一个dtype类型
Python数据分析与展示(一)(基于北理MOOC)_第6张图片
(2)使用NumPy中函数创建ndarray数组,如:arange, ones, zeros等
函数 说明

  1. np.arange(n) 类似range()函数,返回ndarray类型,元素从0到n‐1
    np.ones(shape) 根据shape生成一个全1数组,shape是元组类型
    np.zeros(shape) 根据shape生成一个全0数组,shape是元组类型
    np.full(shape,val) 根据shape生成一个数组,每个元素值都是val

    Python数据分析与展示(一)(基于北理MOOC)_第7张图片
    (2)使用NumPy中函数创建ndarray数组,如:arange, ones, zeros等
    Python数据分析与展示(一)(基于北理MOOC)_第8张图片
    (3)使用NumPy中其他函数创建ndarray数组
    Python数据分析与展示(一)(基于北理MOOC)_第9张图片

Python数据分析与展示(一)(基于北理MOOC)_第10张图片

你可能感兴趣的:(python,数据分析,索引,python数据分析)