您的位置:首页 > 编程语言 > Python开发

学习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数组属性的介绍了。鉴于本人只是个小白,所以就不做任何应用了!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Python 数据分析