学习Python数据分析随手笔记【二】numpy数组的属性

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数组属性的介绍了。鉴于本人只是个小白,所以就不做任何应用了!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值