100天精通Python(数据分析篇)——numpy进阶

本文详细介绍了numpy的数组操作,包括查看和修改数据形状、数组计算、转置、拼接、行列交换、clip函数以及数值修改。此外,还探讨了numpy中的常用方法,如生成随机数、小技巧以及copy和view的区别。
摘要由CSDN通过智能技术生成

一、数组操作

1. 查看数据形状

``python
>>> a1 = np.array([1,2,3,4,5])
>>> a1
array([1, 2, 3, 4, 5])
>>> a1.shape
(5,) # 括号内1个值表示一维数组
>>> a2 = np.array([[1,2,3,4],[5,6,7,8]])
>>> a2
array([[1, 2, 3, 4],
       [5, 6, 7, 8]])
>>> a2.shape 
(2, 4) # 括号2个值表示二维数组
>>> a3 = np.array([[[1,2,3],[4,5,6]],[[7,8,9],[10,11,12]]])
>>> a3
array([[[ 1,  2,  3],
        [ 4,  5,  6]],

       [[ 7,  8,  9],
        [10, 11, 12]]])
>>> a3.shape
(2, 2, 3) # 括号3个值表示三维数组

2. 修改数组形状

语句: reshape(shape, order='C' )

作用:不改变数据的条件下修改形状

参数说明:

  • shape:形状
  • order:C-按行,‘F’-- 按列,‘A’–原顺序,‘k’ -元素在内存中的出现顺序
>>>a = np.array([[1,2,3,4],[5,6,7,8]])
>>> a.reshape(4,2)
array([[1, 2],
       [3, 4],
       [5, 6],
       [7, 8]])
# 再次查看数组形状发现只是临时修改      
>>> a.shape
(2, 4)
# 可以用一个变量来接收返回值
>>> b = a.reshape(4,2)
>>> b
array([[1, 2],
       [3, 4],
       [5, 6],
       [7, 8]])

语句: flatten( order='C')

作用:展平的数组元素并拷贝一份,顺序通常是"C风格"

注意:修改返回的数组不会对原数组产生影响

参数说明:

  • order:‘C’-按行,‘F’–按列,‘A’–原顺序,‘k’ -元素在内存中的出现顺序
>>> c = np.array([[1, 2],[3, 4],[5, 6],[7, 8]])
>>> c
array([[1, 2],
       [3, 4],
       [5, 6],
       [7, 8]])
>>> c.shape
(4, 2)
# 方法1
>>> c.reshape(c.shape[0]*c.shape[1],)
array([1, 2, 3, 4, 5, 6, 7, 8])
#  方法2
>>> c.flatten()
array([1, 2, 3, 4, 5, 6, 7, 8])

3. 数组和数的计算

numpy的广播机制造成的,在运算过程中,加减乘除的值被广播到所有的元素上面.

>>> a = np.array([[1,2,3,4,5],[6,7,8,9,10]])
>>> a
array([[ 1,  2,  3,  4,  5],
       [ 6,  7,  8,  9, 10]])
>>> a + 1
array([[ 2,  3,  4,  5,  6],
       [ 7,  8,  9, 10, 11]])
>>> a - 1
array([[0, 1, 2, 3, 4]
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值