• 技术文章 >Python技术 >Python基础教程

    Python中numpy数组如何添加和删除元素

    小P小P2021-04-06 15:20:26原创23893

    5eba309a9d730664.jpg

    在 numpy中对数组元素进行添加和删除操作,可以使用 append() 函数和 insert() 函数为数组添加元素,或者使用 delete() 函数返回删除了某个轴的子数组的新数组。以及使用 unique() 函数寻找数组内的唯一元素。下面分别介绍这些函数的运用。

    append()函数

    该函数是在数组的末尾添加元素,该函数会返回一个新数组,而原数组不变。使用 append()函 数的方法如下:

    1

    <p style="line-height: 1.75em;"><span style="font-family: 微软雅黑, "Microsoft YaHei";">numpy.append(arr,values,axis)<br></span></p>


    对各个参数的说明:

    如果未提供 axis 值,在添加操作之前输入数组会被展开,values 可以是单元素,也可以是任意数组,将 values 添加到 arr 数组后,该函数会返回一个新数组,而原数组不变。

    append() 函数的示例代码 example1 如下。

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    <p style="line-height: 1.75em;"><span style="font-family: 微软雅黑, "Microsoft YaHei";"># -*- coding: UTF-8 -*-

    import numpy as np

    #创建数组arr

    arr = np.array([[1,2,3,4],[5,6,7,8]])

    print('第1个数组arr:',arr)  

    print('向arr数组添加元素:')

    print(np.append(arr,[[9,10],[11,12]]))

    print('原数组:',arr)  

    print('沿轴 0 添加元素:')

    print(np.append(arr,[[9,10,11,12],[11,11,11,11]], axis=0))

    print('沿轴 1 添加元素:')

    print(np.append(arr,[[9,10],[11,12]], axis=1))<br></span></p>

    insert()函数


    该函数在给定索引之前,沿给定轴在输入数组中插入值。该函数会返回一个新数组,原数组不变。使用 insert() 函数的方法如下:

    1

    <p style="line-height: 1.75em;"><span style="font-family: 微软雅黑, "Microsoft YaHei";">numpy.insert(arr,obj,values,axis)<br></span></p>

    对各个参数的说明:

    如果未提供 axis 值,在插入之前输入数组会被展开,values 可以是单个元素,也可以是一维数组,将 values 插入到 obj 的位置处,该函数会返回一个新数组,原数组不变。

    另外,insert() 函数如果传递了 axis 参数,则插入 values 值时,会以广播值数组来配输入数组,即 np.insert(arr,2,[9],axis=0),其中 values 为 [9],arr 是 2 行 4 列数组,由于 axis=0,则插入值的数组列维度与arr数组列维度相同,因此,插入值数组为 1 行 4 列的数组,也就是广播值数组 [9,9,9,9]。

    insert() 函数的示例代码 example2 如下。

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    <p style="line-height: 1.75em;"><span style="font-family: 微软雅黑, "Microsoft YaHei";"># -*- coding: UTF-8 -*-

    import numpy as np

    #创建数组arr

    arr = np.array([[1,2,3,4], [5,6,7,8]])

    print('第1个数组arr:',arr)  

    print('未传递axis参数。在插入之前输入数组会被展开。')

    print(np.insert(arr,4,[9, 10,11,12]))

    print('传递了axis参数,会以广播值数组来配输入数组。')

    print('沿轴 0 广播:')

    print(np.insert(arr, 2, [9], axis=0))    #插入值是[9,9,9,9]

    print('沿轴 0 插入:')

    print(np.insert(arr, 2, [9,10,11,12], axis=0))

    print('沿轴 1 广播:')

    print(np.insert(arr, 2, [[9],[10]], axis=1))

    print('沿轴 1 插入:')

    print(np.insert(arr, 2, [[9,10],[11,12]], axis=1))<br></span></p>


    delete()函数


    该函数返回从输入数组中删除指定子数组的新数组,原数组不变。与 insert() 函数的情况一样,如果未提供轴参数,则输入数组将展开。使用 delete() 函数的方法如下:

    1

    <p style="line-height: 1.75em;"><span style="font-family: 微软雅黑, "Microsoft YaHei";">numpy.delete(arr,obj,axis)<br></span></p>

    对各个参数的说明:

    delete() 函数的示例代码 example3 如下。

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    <p style="line-height: 1.75em;"><span style="font-family: 微软雅黑, "Microsoft YaHei";"># -*- coding: UTF-8 -*-

    import numpy as np

    #创建数组arr

    arr = np.arange(16).reshape(4,4)

    print('第1个数组arr:',arr)

    print ('未传递 axis 参数,在删除之前输入数组会被展开。')

    print (np.delete(arr,[6,9,12]))   #删除arr数组中索引为6,9,12的元素

    print(arr)

    print('删除第3列:')

    print(np.delete(arr, 2, axis=1))

    print('删除第2行:')

    print(np.delete(arr, 1, axis=0))  

    print('从数组中删除用切片表示元素范围值:')

    print(np.delete(arr, np.s_[::2]))<br></span></p>

    以上就是三种函数在numpy数组中的运用,更多Python学习推荐:Python学习网教学中心

    (推荐操作系统:windows7系统、Python 3.9.1,DELL G3电脑。)

    专题推荐:numpy python
    上一篇:Python中如何使用numpy.getmask()函数 下一篇:python基础必学:break与continue语句用法

    相关文章推荐

    • python中numpy数据类型转换的方法• Python基础:numpy中any()和all()的用法• 基础学习:Python中numpy如何切片• Python中numpy如何索引• python实例:Python中如何删除numpy数组的元素• 详解Python中numpy.loadtxt()读取txt文件• Python中numpy如何生成mask图像• Python中如何使用numpy.getmask()函数

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网