利用python进行数据分析学习笔记(一)--Numpy多维数组对象ndarray

多维数组对象ndarray
ndarray是一个快速灵活的大数据及容器,可以利用这种数组进行数学运算。
在ndarray中,所有的元素必须是相同类型的,每个数组都有一个shape(返回一个表示维度
大小的元祖)和一个dtype(返回数组数据类型)
一、创建ndarray的方法
1.array函数

 In [1]: data1 = [1.1,2.2,3.3,4.4]
    
        In [2]: import numpy as np
    
        In [3]: data1 = [1.1,2.2,3.3,4.4]
    
        In [4]: arr1 = np.array(data1)
    
        In [5]: arr1
        Out[5]: array([1.1, 2.2, 3.3, 4.4])
    
        In [6]: data2 = [[1.1,2.2,3.3,4.4],[5.5,6.6,7.7,8.8]]
    
        In [7]: arr2 = np.array(data2)
    
        In [8]: arr2
        Out[8]:
        array([[1.1, 2.2, 3.3, 4.4],
               [5.5, 6.6, 7.7, 8.8]])
        In [9]: arr2.shape
        Out[9]: (2, 4)
    
        In [10]: arr2.dtype
        Out[10]: dtype('float64')

2.zeros函数

 In [13]: np.zeros(10)
        Out[13]: array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])

        In [14]: np.zeros((3,4))
        Out[14]:
        array([[0., 0., 0., 0.],
               [0., 0., 0., 0.],
               [0., 0., 0., 0.]])

3.empty函数
注:empty函数有时会返回全是0的数组,有时是一些垃圾值

In [22]: np.empty((2,4,2))
        Out[22]:
        array([[[7.82430548e-271, 5.53636626e+127],
                [1.06399927e+248, 7.12303566e+149],
                [8.82893851e+199, 3.63152519e+088],
                [6.15962525e-242, 9.09607585e+223]],

               [[1.59192433e-308, 9.99960087e+073],
                [6.37179567e+020, 1.71936412e+045],
                [5.85859283e+078, 1.80821729e+045],
                [1.30843769e+127, 3.19452254e+006]]])

4.arange函数
numpy中的arange函数和Python内置函数range()一模一样,用法也是。

In [41]: np.arange(15)
Out[41]: array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14])

二、ndarray的数据类型
1.dtype
1.int转为float

In [44]: arr1 = np.array([1,2,3,4,5],dtype = np.float64)

In [45]: arr1
Out[45]: array([1., 2., 3., 4., 5.])

2.float转为int
注:数组类型是小数,转换为float时会去掉小数部分。

In [46]: arr2 = np.array([1.1,2.2,3.3,4.4,5.5],dtype = np.int64)

In [47]: arr2
Out[47]: array([1, 2, 3, 4, 5], dtype=int64)

3.string_转为数字类型

In [52]: arr3 = np.array(['1.2','3.5','5.4'],dtype = np.string_)

In [53]: n_arr3 = arr3.astype(np.float64)

In [54]: n_arr3
Out[54]: array([1.2, 3.5, 5.4])

三、数组之间的运算

In [57]: arr = np.array([[1.,2.,3.],[4.,5.,6.]],dtype = np.float64)

In [58]: arr
Out[58]:
array([[1., 2., 3.],
       [4., 5., 6.]])

In [59]: arr + arr
Out[59]:
array([[ 2.,  4.,  6.],
       [ 8., 10., 12.]])

In [60]: arr * arr
Out[60]:
array([[ 1.,  4.,  9.],
       [16., 25., 36.]])

In [61]: 1 / arr
Out[61]:
array([[1.        , 0.5       , 0.33333333],
       [0.25      , 0.2       , 0.16666667]])

In [62]: arr ** 2
Out[62]:
array([[ 1.,  4.,  9.],
       [16., 25., 36.]])

不同大小的数组运算叫做broadcasting,看后面的笔记

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值