学习Python数据分析随手笔记【二】numpy数组的属性
2018-03-18 14:57
706 查看
1.维度ndim 这个属性储存的是维度的数量。
举例说明:首先生成一个2,12的数组。
In:import numpy as np
b = np.arange(24).reshape(2,12)
b
b.ndim
>>>b
Out: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]])
>>>b.ndim
2
2.元素的数量,size属性用来保存元素的数量,用法如图所示。
In:b.size
Out:24
3.itemsize 可以返回数组中个个元素的所占的字节数
In:b.itemsize
Out:4
4.nbytes 这个属性可以返回储存整个数组所需的字节之和
In:b.nbytes
Out:96
In:b.size *b.itemsize
Out:96
可见 size*itemsize= nbytes
5.T:这个属性与前面的transpose()类似
比如说
In:b.resize(6,4)
Out: 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:b.T
Out: array([[0, 4, 8, 12, 16, 20],
[ 1, 5, 9, 13, 17, 21],
[ 2, 6, 10, 14, 18, 22],
[ 3, 7, 11, 15, 19, 23]])
与矩阵的转置一样。
6.特别的 如果数组的rank(秩)小于2那么ndim函数只会得到一个一维数组的视图。
for example:
In:c= np.arange(5)
c.ndim
Out:1
In:c.T
Out:array([0, 1, 2, 3])
7.对于numpy数组来说用j代表复数
生成一个复数数组的操作是这样的:
>>> c=array([[1,2],[3,4]],dtype=complex)
>>> c
array([[1.+0.j, 2.+0.j],
[3.+0.j, 4.+0.j]])
>>> c.dtype
8.real 属性将返回数组的实部(实数的部位),当数组全部为实数的时候,就返回数组本身。
复数数组:
>>> e = array([1,2],dtype =complex)
>>> e
array([1.+0.j, 2.+0.j])
>>> e.real
array([1., 2.])
实数数组
>>> p = np.arange(24).reshape(6,4)
>>> p
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]])
>>> p.real
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]])
9.imag属性存放的是复数数组的虚部
>>> e = array([1,2],dtype =complex)
>>> e
>>> e.imag
array([0., 0.])
10如果数组中含有复数,那么他的数据类型会自动转换为复数类型。
>>> e.dtype
dtype('complex128')
>>> e.dtype.str
'<c16'
11.flat属性 这个属性可以返回一个numpy.flatiter对象。划重点!!!这是唯一能获得flatiter对象的方法。划重点!!但是这个flatiter的构造函数是不能访问的。不过可以使用迭代器来进行访问。比如
In:b = arange(24).reshape(6,4)
In:f = b.flat
In : f
Out:<numpy.flatiter object at0x026E6C78>
In:for item in f :
print(item)
Out:
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
当然 虽然那一串巴拉巴拉的英文你看不懂 用for循环的方法来遍历你又觉得麻烦。那么我们可以用 直接取得的方法来获得
比如?
In;b.flat[2]
Out:2
也可以一次请求多个元素
In:b.flat[1,3,4]
Out:array([1, 3, 4])
以上就是numpy数组属性的介绍了。鉴于本人只是个小白,所以就不做任何应用了!
举例说明:首先生成一个2,12的数组。
In:import numpy as np
b = np.arange(24).reshape(2,12)
b
b.ndim
>>>b
Out: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]])
>>>b.ndim
2
2.元素的数量,size属性用来保存元素的数量,用法如图所示。
In:b.size
Out:24
3.itemsize 可以返回数组中个个元素的所占的字节数
In:b.itemsize
Out:4
4.nbytes 这个属性可以返回储存整个数组所需的字节之和
In:b.nbytes
Out:96
In:b.size *b.itemsize
Out:96
可见 size*itemsize= nbytes
5.T:这个属性与前面的transpose()类似
比如说
In:b.resize(6,4)
Out: 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:b.T
Out: array([[0, 4, 8, 12, 16, 20],
[ 1, 5, 9, 13, 17, 21],
[ 2, 6, 10, 14, 18, 22],
[ 3, 7, 11, 15, 19, 23]])
与矩阵的转置一样。
6.特别的 如果数组的rank(秩)小于2那么ndim函数只会得到一个一维数组的视图。
for example:
In:c= np.arange(5)
c.ndim
Out:1
In:c.T
Out:array([0, 1, 2, 3])
7.对于numpy数组来说用j代表复数
生成一个复数数组的操作是这样的:
>>> c=array([[1,2],[3,4]],dtype=complex)
>>> c
array([[1.+0.j, 2.+0.j],
[3.+0.j, 4.+0.j]])
>>> c.dtype
8.real 属性将返回数组的实部(实数的部位),当数组全部为实数的时候,就返回数组本身。
复数数组:
>>> e = array([1,2],dtype =complex)
>>> e
array([1.+0.j, 2.+0.j])
>>> e.real
array([1., 2.])
实数数组
>>> p = np.arange(24).reshape(6,4)
>>> p
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]])
>>> p.real
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]])
9.imag属性存放的是复数数组的虚部
>>> e = array([1,2],dtype =complex)
>>> e
>>> e.imag
array([0., 0.])
10如果数组中含有复数,那么他的数据类型会自动转换为复数类型。
>>> e.dtype
dtype('complex128')
>>> e.dtype.str
'<c16'
11.flat属性 这个属性可以返回一个numpy.flatiter对象。划重点!!!这是唯一能获得flatiter对象的方法。划重点!!但是这个flatiter的构造函数是不能访问的。不过可以使用迭代器来进行访问。比如
In:b = arange(24).reshape(6,4)
In:f = b.flat
In : f
Out:<numpy.flatiter object at0x026E6C78>
In:for item in f :
print(item)
Out:
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
当然 虽然那一串巴拉巴拉的英文你看不懂 用for循环的方法来遍历你又觉得麻烦。那么我们可以用 直接取得的方法来获得
比如?
In;b.flat[2]
Out:2
也可以一次请求多个元素
In:b.flat[1,3,4]
Out:array([1, 3, 4])
以上就是numpy数组属性的介绍了。鉴于本人只是个小白,所以就不做任何应用了!
相关文章推荐
- 学习Python数据分析随手笔记【一】numpy数组的函数简单应用
- python数据分析学习笔记-Numpy-Matplotlib-Pandas
- 学习Python数据分析(2.1)----Numpy数组以及数组的操作
- python数据分析学习笔记--numpy
- python数据分析与挖掘学习笔记(3)_小说文本数据挖掘part1
- Data Analysis学习笔记 --- Python数据分析入门知识
- 利用Python进行数据分析 学习笔记
- python数据分析与挖掘学习笔记(1)-基础及准备
- 【python学习笔记】15:numpy创建各种数组
- 【python学习笔记】18:numpy数组函数与矩阵运算
- python数据分析学习笔记三
- Python & 数据分析学习笔记[第1篇]
- Python数据分析之numpy学习
- 【python学习笔记】19:numpy数组布尔运算和切片
- python 数据分析学习笔记 (第三章)
- Python数据分析笔记——Numpy、Pandas库
- python数据分析入门学习笔记
- 『利用Python进行数据分析学习』第四章:numpy基础学习
- python数据分析与挖掘学习笔记(7)-交通路标自动识别实战与神经网络算法
- python数据分析与挖掘学习笔记(2)-淘宝商品数据清洗及预处理