本文由我司收集整编,推荐下载,如有疑问,请与我司联系
利用
python
进行数据分析
2016/09/03 0
1.ndarray
对象的内部机理
NumPy
的
ndarray
提供了一种将同质化数据块解释为多维数组对象的方式,
ndarray
如此强大的部分原因是所有数组对象都是数据块的一个跨度视图。
ndarray
内部由以下内容组成:
a.
一个指向数组(一个系统内存块)的指针
b.
数据类型或
dtype
c.
一个表示数组形状的元组;例如,一个
10*5
的数组,其形状为(
10
,
5
)
d.
一个跨度元组,其中的整数指的是为了前进到当前维度下一个元素需要
“
跨度
”
的字节数;如,一个
3*4*5
的
float
(
8
个字节)数组,其跨度为(
160,40,8
)
2.NumPy
数据类型体系
ints=np.ones(10,dtype=np.uint16)floats=np.ones(10,dtype=np.float32)print
np.issubdtype(ints.dtype,np.integer)print np.issubdtype(floats.dtype,np.floating)
结果为:
TrueTrue
调用
dtype
的
mro
方法即可查看其所有的父类
print np.float64.mro()
结果为:
[
type
‘numpy.float64’
,
type
‘numpy.floating’
,
type
‘numpy.inexact’
,
type
‘numpy.number’ , type ‘numpy.generic’ , type ‘float’ , type ‘object’ ]
3.
高级重塑
假设有一个一维数组,我们希望将其重新排列为一个矩阵
arr=np.arange(8)print arrprint arr.reshape((4,2))
结果为:
[0 1 2 3 4 5 6 7][[0 1][2 3][4 5][6 7]]