数据的维度

维度:一组数据的组织形式

一维数据

一维数据由对等关系的有序或无序数据构成,采用线性方式组织。对应列表、数组和集合等概念。

列表和数组:一组数据的有序结构。

区别:

列表:数据类型可以不同

数组:数据类型相同

二维数据

二维数据由多个一维数据构成,是一维数据的组合形式。

表格是典型的二维数据。其中,表头是二维数据的一部分。

多维数据

多维数据由一维或二维数据在新维度上扩展形成。例如增加时间维度的表格。

高维数据

高维数据仅利用最基本的二元关系展示数据间的复杂结构。利用键值对将数据组织起来的形成的数据关系。使用字典类型或数据表示格式。

Numpy维数组对象:ndarray

使用numpy:import numpy as np

N维数组对象:ndarray

ndarray是一个多维数组对象,由两部分构成:实际的数据、描述这些数据的元数据(数据维度、数据类型等)。ndarray数组一般要求所有元素类型相同(同质),数组下标从0开始。

如何使用ndarray

使用np.array()生成一个ndarray数组(ndarray在程序中的别名是:array),np.array()输出成 [] 形式,元素由空格分割。

属性

python 数据维度的含义 python高维数据_python 数据维度的含义

ndarray数组的创建和变换

创建方法

从Python中的列表、元组等类型创建ndarray数组。

x = np.array([0,1,2,3])  # 从列表类型创建
print(x)
x1 = np.array((4,5,6,7))  # 从元组类型创建
print(x1) 
x2 = np.array([[1,2],[9,8],(0.1, 0.2)])  # 从列表和元组混合类型创建
print(x2)
 
[0 1 2 3]
 
[4 5 6 7]
 
[[ 1.   2. ]
 [ 9.   8. ]
 [ 0.1  0.2]]

使用Numpy中函数创建ndarray数组,如:arange,ones,zeros等。

从字节流(raw bytes)中创建ndarray数组。

从文件中读取特定格式,创建ndarray数组。

转换

对于创建后的ndarray数组,可以对其进行维度变换和元素类型变换。

维度变换

元素类型变换: 数组向列表的转换

ndarray数组的操作

索引:获取数组中特定位置元素的过程。

In [54]: a = np.arange(24).reshape((2,3,4))
 
In [55]: a
Out[55]: 
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]]])
 
In [56]: a[1,2,3]         # 每个维度一个索引值,逗号分割
Out[56]: 23
 
In [57]: a[0,1,2]
Out[57]: 6
 
In [58]: a[-1,-2,-3] 
Out[58]: 17

ndarray数组的运算

数组与标量之间的运算

数组与标量之间的运算作用于数组的每一个元素

In [62]: a=np.arange(24).reshape((2,3,4))

In [63]: a
Out[63]: 
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]]])

In [64]: a.mean()
Out[64]: 11.5

In [65]: a=a/a.mean()  #计算a与元素平均值的商

In [66]: a
Out[66]: 
array([[[ 0.        ,  0.08695652,  0.17391304,  0.26086957],
        [ 0.34782609,  0.43478261,  0.52173913,  0.60869565],
        [ 0.69565217,  0.7826087 ,  0.86956522,  0.95652174]],

       [[ 1.04347826,  1.13043478,  1.2173913 ,  1.30434783],
        [ 1.39130435,  1.47826087,  1.56521739,  1.65217391],
        [ 1.73913043,  1.82608696,  1.91304348,  2.        ]]])

NumPy一元函数

对ndarray中的数据执行元素级运算的函数

python 数据维度的含义 python高维数据_数据分析_02

NumPy二元函数

python 数据维度的含义 python高维数据_数据挖掘_03