美文网首页
Numpy组队学习 Task03打卡

Numpy组队学习 Task03打卡

作者: 萤窗小烛 | 来源:发表于2020-10-25 22:32 被阅读0次

数组操作

数组操作.png

更改形状

通过修改shape属性改变数组形状

x = np.array([1, 2, 9, 4, 5, 6, 7, 8])
print(x.shape)
(8,)
x.shape = [2, 4]
print(x)
[[1 2 9 4]
 [5 6 7 8]]

flat方法将数组转换为一维的迭代器

x = np.arange(12).reshape(3, 4)
x
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11]])
y = x.flat
print(y)
for i in y:
    print(i, end=' ')
<numpy.flatiter object at 0x00000257A2BE29E0>
0 1 2 3 4 5 6 7 8 9 10 11 
print(x)
[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]

flatten方法将数组的副本转换为一维数组

x
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11]])
y = x.flatten()
print(y)
print(x)
[ 0  1  2  3  4  5  6  7  8  9 10 11]
[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]

ravel方法返回的是多维数组展平后的视图

x
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11]])
y = np.ravel(x)
print(y)
[ 0  1  2  3  4  5  6  7  8  9 10 11]
y[3] = 5
print(x)
[[ 0  1  2  5]
 [ 4  5  6  7]
 [ 8  9 10 11]]

reshape方法也可以跟更改shape属性一样改变数组形状

x = np.arange(12).reshape(3, -1)
x
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11]])

数组转置

x
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11]])
x.T
array([[ 0,  4,  8],
       [ 1,  5,  9],
       [ 2,  6, 10],
       [ 3,  7, 11]])
x.transpose()
array([[ 0,  4,  8],
       [ 1,  5,  9],
       [ 2,  6, 10],
       [ 3,  7, 11]])

更改维度

np.newaxis增加一个维度

x = np.array([1, 2, 9, 4, 5, 6, 7, 8])
print(x.shape) 
print(x)  
(8,)
[1 2 9 4 5 6 7 8]
y = x[np.newaxis, :]
print(y.shape) 
print(y) 
(1, 8)
[[1 2 9 4 5 6 7 8]]

np.squeeze函数可以通过删除单维度的条目来降低数组一个维度

print(y, y.ndim)
[[1 2 9 4 5 6 7 8]] 2
z = np.squeeze(y)
print(z.shape)
(8,)

数组合并

np.concatenate

x = np.array([1, 2, 3])
y = np.array([7, 8, 9])
z = np.concatenate([x, y])
print(z)
[1 2 3 7 8 9]
z = np.concatenate([x, y], axis=0)
z
array([1, 2, 3, 7, 8, 9])

np.vstack

a = np.vstack([x, y])
a
array([[1, 2, 3],
       [7, 8, 9]])
a = np.vstack(a*3)
a
array([[ 3,  6,  9],
       [21, 24, 27]])

np.hstack

a = np.hstack([x, y])
a
array([1, 2, 3, 7, 8, 9])

数组分割

np.split

x = np.array([[11, 12, 13, 14],
              [16, 17, 18, 19],
              [21, 22, 23, 24]])
y = np.vsplit(x, 3)
print(y)
[array([[11, 12, 13, 14]]), array([[16, 17, 18, 19]]), array([[21, 22, 23, 24]])]

np.vsplit

y = np.vsplit(x, [1])
print(y)
[array([[11, 12, 13, 14]]), array([[16, 17, 18, 19],
       [21, 22, 23, 24]])]

np.hsplit

x = np.array([[11, 12, 13, 14],
              [16, 17, 18, 19],
              [21, 22, 23, 24]])
y = np.hsplit(x, 2)
print(y)
[array([[11, 12],
       [16, 17],
       [21, 22]]), array([[13, 14],
       [18, 19],
       [23, 24]])]

数组平铺

np.tile

a = np.arange(6).reshape(2, -1)
np.tile(a, (2, 1))  # 在行方向上堆叠2次,列方向上堆叠1次
array([[0, 1, 2],
       [3, 4, 5],
       [0, 1, 2],
       [3, 4, 5]])

np.repeat

a = np.array([1, 2, 3])
np.repeat(a, 3)  # 将数组 a 的每个元素重复3次
array([1, 1, 1, 2, 2, 2, 3, 3, 3])

数组去重

a = np.array([2, 1, 3, 3, 4, 1, 2])
np.unique(a) # 计算数组a中的唯一值,并排序
array([1, 2, 3, 4])

相关文章

  • Numpy组队学习 Task03打卡

    数组操作 更改形状 通过修改shape属性改变数组形状 flat方法将数组转换为一维的迭代器 flatten方法将...

  • Numpy组队学习 Task02打卡

    索引与切片 总结一下Numpy中索引与切片的常用操作,思维导图可以帮助自己快速梳理回顾知识点。个人觉得Numpy作...

  • Numpy组队学习 Task05打卡

    排序 可以使用axis参数沿某个轴进行排序 a.sort() 对原数组按位置排序 np.sort(a) 返回的是已...

  • Numpy组队学习 Task01打卡

    主要概念 数据类型 类型解释bool布尔类型,1 个字节,值为 True 或 Falseint整数类型,通常为 i...

  • Numpy组队学习 Task04打卡

    数学函数 算术运算 三角函数 对指数 数学和统计方法 四舍五入 逻辑函数 真值测试 数组内容 逻辑运算 对照

  • 《动手学深度学习》第三天2020-02-14

    2) 第二次打卡内容(2月15日-17日)截止打卡时间:2/17-22:00 Task03:过拟合、欠拟合及其解决...

  • 考研组队学习监督打卡学习群

    考研组队学习打卡监督群-要求在职人员每天学习3h以上,其他每天学习10以上。 能做到就往下看:(拉倒底部扫码加我进...

  • DataWhale组队学习之pandas预备知识:numpy,p

    一、Python基础 1. 列表推导式与条件赋值 在生成一个数字序列的时候,在Python中可以如下写出: 事实上...

  • 学习组队

    没能力的人惶恐始终,有能力的人运筹帷幄 没有人始终愿意带个累赘,即使没有拒绝你 没有人始终是拖累 人生就像牌一样,...

  • 组队学习

    早上六点多,打开钉钉软件,栋哥同学L申请加好友的提示灯亮着,L同学是个漂亮女生,学霸。我自作主张帮他点了通过,对方...

网友评论

      本文标题:Numpy组队学习 Task03打卡

      本文链接:https://www.haomeiwen.com/subject/zdlomktx.html