Numpy 学习笔记(1)

Numpy 学习笔记(1)

仅供学习,如有不对欢迎指出。

1. 常用属性

  • arr.ndim 查看数组的维度

  • arr.size 查看数组中元素的个数

  • arr.shape 查看数组是几行几列的

    shape 方法可以用于改变数组的形状

    reshape中有个order参数 关键字分别是 F(列展开)和C(行展开)

  • arr.flatten 将数组拍平

    order 参数同上

  • arr.tolist() np转list

2. 数据类型

  • f.itemsize 返回数组中每个元素的字节单位长度

  • f.dtype 返回数据类型

  • f.astype(np.int64) 改变数据类型 例如这个是将数据类型改变成 int64

  • np.round(arr, n) 取小数点n位

3. 数组的计算

  • 基本原则:广播式

    假设 t1 是一个数组

    print(t1 + 2) 意味着 所有元素加2 其余运算符同理

  • 两个数组运算要求与数学中的矩阵类似 (例外)其中相同列数((m,n) 与 (1,n))或行数((m,n)与(m,1))的数组可以运算

4. 数组的轴

  • 降维操作: np.sum(a, axis = n) 其中n为维度 指定维度相加时仅对该维度的值进行相加
a = [ 
      [1, 2, 3]
      [4, 5, 6]
    ]
print(np.sum(a, axis = 0))

'''
[5, 7, 9]

'''
print(np.sum(a, axis = 1))

'''
[6, 15]
'''

5. 数组的索引和切片

  • 冒号分隔切片 与python list 同理
t1 = np.arange(24).reshape(4, 6)
'''
[
	[0  1  2  3  4  5 ]
	[6  7  8  9  10 11]
	[12 13 14 15 16 17]
	[18 19 20 21 22 23]
]
'''
#输出第1行
print(t1[1])

#输出第1行 且:代表第一行的全部
print(t1[1, :])

#输出第一行到最后一行
print(t1[1:])

#输出第1行和第3行
print(t1[[1, 3]])

#输出第一列的全部 [1 7 13 19]
print(t1[: ,1])

#输出全部行和从从第1列到最后
print(t1[: ,1:]
      
#取特定值
print(t1[0, 1] == t1[0][1]) #return Ture 等价

6. 数组中的数值修改

t1 = np.arange(24).reshape(4, 6)
'''
[
	[0  1  2  3  4  5 ]
	[6  7  8  9  10 11]
	[12 13 14 15 16 17]
	[18 19 20 21 22 23]
]
'''

#将第1行的所有值变为0
t[1,:] = 0

#将第1列的所有值变为0
t[:,1] = 0

#将1,2行的所有值变为0
t[1:3,:] = 0

#将1,2,3列所有值变为0
t[:,1:4] = 0

#将2到4行,3到5列的所有值变为0            ⭐⭐⭐⭐⭐⭐⭐
t[1:4, 2:5] = 0

#将[0,0] 和 [1,3]两个点的值变为0        ⭐⭐⭐⭐⭐⭐⭐
t[[0,1],[0,3]] = 0

#将t中小于10的值变为0 可用于所有逻辑运算 逻辑符 & | ~
t[t<10] = 0

#三目运算 类似excel if语句 和 c# linq中的 where语句
score = np.arrayp[[80, 88],[82, 81],[75, 81]]
result = np.where(score > 80 , True, False)

感谢大家看到最后

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值