栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

numpy的数组多维度转化及其创建

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

numpy的数组多维度转化及其创建

1.numpy数组里面只有一种数据类型,如果既有整型又有字符串,那么都会变成字符串,如果既有整型又有浮点型,都会变成浮点型 1.numpy运行速度之所以快是由c语言编写的,数据类型需要我们命名所以运算速度快
  • 1.浮点型创建数组

  • import numpy as np
    a = np.array([1,2,3,1.5])
    a

  • 2.整型创建数组

  • a = np.array([1,2,3])
    a

  • 3.字符串创建数组

  • a = np.array(‘123’)
    a

  • 4.从头创建数组

  • a = list(range(10))
    a4 = np.array(a)
    a4

  • 5.生成范围数组对象,和range函数一样都可以选择步长

  • a = np.arange(0,10)
    a

2.np.zeros?可以查询这个方法

2.多维数组(有多少个[]就是多少维数组) 1.修改数组维度 ,一维到多维
  • 把a8一维数组改成2行三列的二维数组
    a = a8.reshape((2.3))
  • 把a8一维数组改成三维数组
    a = a8.reshape((1,1,6))
2.修改数组维度,多维到一维
  • 二维转一维

  • a8 = np.arange(12)
    a2 = a8.reshape((2,6))
    a1 = a2.reshape((12,))
    a1

  • 三维转一维

  • a= a8.reshape((2,2,3))
    a1 = a.reshape((12,))
    a1

  • 不管多少维度统一转化为一维(不影响原数组)

  • a14 = a.flatten()
    a14

  • 不管多少维度统一转化为一维(影响原数组)

  • a15 = a.ravel() # 数组转换为一维 会影响原数组
    a15

3.数组属性
  • n2
    array([[1, 2, 3],
    [4, 5, 6]])
1.ndim 秩
  • n2.ndim
    2
2.形状
  • 二维数组
  • n2
    array([[1, 2, 3],
    [4, 5, 6]])
  • n2.shape
    (2,3) 二维数组 2行 3列
  • 三维数组
  • n3
    array([[[ 1, 2, 3],
    [ 4, 5, 6]],
    [[ 7, 8, 9],
    [10, 11, 12]]])
  • n3.shape
  • (2, 2, 3) 三维数组 总共两个元素 ,每个元素都是2行3列
  • 数组中元素个数
  • n2.size
    6
4.切片
  • 注:索引值为1是第二行 ,切片左闭右开,左边算右边不算
  • 冒号之前是行的切片,冒号之后是列的切片
  • a[ :1 , :2]
  • 这是个第一行,前俩列的切片
  • a[1: , :2]
  • 除过第一行,后几行的,前俩列的切片
  • a[1:3 , 1:2]
  • 第二行到第三行,第一列的切片
布尔索引
  • a3 = np.arange(40).reshape((5,8)) 生成五行八列的二维数组
    a3

  • 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],
    [24, 25, 26, 27, 28, 29, 30, 31],
    [32, 33, 34, 35, 36, 37, 38, 39]])

  • a3<20 小于20的都变成True
    array([[ True, True, True, True, True, True, True, True],
    [ True, True, True, True, True, True, True, True],
    [ True, True, True, True, False, False, False, False],
    [False, False, False, False, False, False, False, False],
    [False, False, False, False, False, False, False, False]]

  • a3[a3<20] 生成所有大于20的一维数组
    array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
    17, 18, 19])

  • a3[(a3 > 10) & (a3 < 20)] 大于10而且小于20的一维数组
    array([11, 12, 13, 14, 15, 16, 17, 18, 19])

  • a3[(a3 > 10) | (a3 < 5)] 大于10或者小于5的一维数组
    array([ 0, 1, 2, 3, 4, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
    23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39])

  • a3[0][0] = 100 替换第一行第一个数字为100
    a3
    array([[100, 1, 2, 3, 4, 5, 6, 7],
    [ 8, 9, 10, 11, 12, 13, 14, 15],
    [ 16, 17, 18, 19, 20, 21, 22, 23],
    [ 24, 25, 26, 27, 28, 29, 30, 31],
    [ 32, 33, 34, 35, 36, 37, 38, 39]])

  • a3[0] = 10 替换第一行都是10
    a3
    array([[10, 10, 10, 10, 10, 10, 10, 10],
    [ 8, 9, 10, 11, 12, 13, 14, 15],
    [16, 17, 18, 19, 20, 21, 22, 23],
    [24, 25, 26, 27, 28, 29, 30, 31],
    [32, 33, 34, 35, 36, 37, 38, 39]])

  • a3[0] = [1,2,4,5,6,7,8,55] 替换第一行
    a3
    array([[ 1, 2, 4, 5, 6, 7, 8, 55],
    [ 8, 9, 10, 11, 12, 13, 14, 15],
    [16, 17, 18, 19, 20, 21, 22, 23],
    [24, 25, 26, 27, 28, 29, 30, 31],
    [32, 33, 34, 35, 36, 37, 38, 39]])

  • a3[a3>30] = 20 替换大于30的都变成20
    a3
    array([[ 1, 2, 4, 5, 6, 7, 8, 20],
    [ 8, 9, 10, 11, 12, 13, 14, 15],
    [16, 17, 18, 19, 20, 21, 22, 23],
    [24, 25, 26, 27, 28, 29, 30, 20],
    [20, 20, 20, 20, 20, 20, 20, 20]])

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/268987.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号