【numpy】总结

numpy总结
摘要由CSDN通过智能技术生成

1. numpy 数组创建:

Import numpy as np

Arr = np.array([1,2,3,4,5])

Arr = np.array(range(5))

Arr = np.arange(10).reshape((2,5))

Arr = np.zeros((3,4))

Arr = np.ones((3,4))

创建一个对角线为1的正方形数组(方阵):np.eye(3)

>>> np.eye(3)

array([[1., 0., 0.],

[0., 1., 0.],

[0., 0., 1.]])

2. 所有数组都有shape和dtype属性,不需要加()调用:

Arr.shape

Arr.dtyep

改变维度类型: Arr.reshape((1, 10))

改变数据类型:Arr.astype(np.int32)

展平数组:Arr.flatten()

3. 数组运算:

3.1 与常数预算——广播:

Arr + 3

Arr * 3

3.2 与相同维度数组运算——对应位置进行运算:

3.3 与不同维度数组进行运算,要求两个数组有某个维度相同,那么将低维度数组扩展到高维度进行运算:

>>> t22

array([[0],

[1],

[2],

[3]])

>>> t14

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]])

>>> t14+t22

array([[ 0, 1, 2, 3, 4, 5],

[ 7, 8, 9, 10, 11, 12],

[14, 15, 16, 17, 18, 19],

[21, 22, 23, 24, 25, 26]])

>>> t14*t22

array([[ 0, 0, 0, 0, 0, 0],

[ 6, 7, 8, 9, 10, 11],

[24, 26, 28, 30, 32, 34],

[54, 57, 60, 63, 66, 69]])

4. 数组转置:

>>> t = np.arange(6).reshape((2,3))                 

array([[0, 1, 2],

   [3, 4, 5]])

>>> t.transpose()                          

array([[0, 3],

   [1, 4],

   [2, 5]])

>>>t.T                                         

array([[0, 3],

   [1, 4],

   [2, 5]])

>>> arr5 = np.arange(24).reshape(2,3,4)

>>>arr5

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]]])



>>>arr5.transpose((1,2,0))

array([[[ 0, 12],

[ 1, 13],

[ 2, 14],

[ 3, 15]],



[[ 4, 16],

[ 5, 17],

[ 6, 18],

[ 7, 19]],



[[ 8, 20],

[ 9, 21],

[10, 22],

[11, 23]]])

5. 索引和切片:

In [96]: arr2

Out[96]:

array([[5, 6, 7, 8],

[3, 4, 5, 6]])



In [97]: arr2[0]

Out[97]: array([5, 6, 7, 8])



In [98]: arr2[0][1]

Out[98]: 6



In [103]: arr2[0][1:3]

Out[103]: array([6, 7])



In [104]: arr2[0][1:3]= 11



In [105]: arr2

Out[105]:

array([[ 5, 11, 11, 8],

[ 3, 4, 5, 6]])



In [127]: arr2[0, 3]

Out[127]: 8



In [135]: arr4 = np.arange(20).reshape(4,5)



In [136]: arr4

Out[136]:

array([[ 0, 1, 2, 3, 4],

[ 5, 6, 7, 8, 9],

[10, 11, 12, 13, 14],

[
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值