DDR爱好者之家 Design By 杰米
准备工作:
增、删、改、查的方法有很多很多种,这里只展示出常用的几种。
> import numpy as np > a = np.array([[1,2],[3,4],[5,6]])#创建3行2列二维数组。 > a array([[1, 2], [3, 4], [5, 6]]) > a = np.zeros(6)#创建长度为6的,元素都是0一维数组 > a = np.zeros((2,3))#创建3行2列,元素都是0的二维数组 > a = np.ones((2,3))#创建3行2列,元素都是1的二维数组 > a = np.empty((2,3)) #创建3行2列,未初始化的二维数组 > a = np.arange(6)#创建长度为6的,元素都是0一维数组array([0, 1, 2, 3, 4, 5]) > a = np.arange(1,7,1)#结果与np.arange(6)一样。第一,二个参数意思是数值从1"background-color: #ccffcc">增> a = np.array([[1,2],[3,4],[5,6]]) > b = np.array([[10,20],[30,40],[50,60]]) > np.vstack((a,b)) array([[ 1, 2], [ 3, 4], [ 5, 6], [10, 20], [30, 40], [50, 60]]) > np.hstack((a,b)) array([[ 1, 2, 10, 20], [ 3, 4, 30, 40], [ 5, 6, 50, 60]])不同维数的数组直接相加显然是不允许的。但是可以用一个n行列向量和一个m列行向量构造出一个n×m矩阵
> a = np.array([[1],[2]]) > a array([[1], [2]]) > b=([[10,20,30]])#生成一个list,注意,不是np.array。 > b [[10, 20, 30]] > a+b array([[11, 21, 31], [12, 22, 32]]) > c = np.array([10,20,30]) > c array([10, 20, 30]) > c.shape (3,) > a+c array([[11, 21, 31], [12, 22, 32]])查
> a array([[1, 2], [3, 4], [5, 6]]) > a[0] # array([1, 2]) > a[0][1]#2 > a[0,1]#2 > b = np.arange(6)#array([0, 1, 2, 3, 4, 5]) > b[1:3]#右边开区间array([1, 2]) > b[:3]#左边默认为 0array([0, 1, 2]) > b[3:]#右边默认为元素个数array([3, 4, 5]) > b[0:4:2]#下标递增2array([0, 2])NumPy的where函数使用
np.where(condition, x, y),第一个参数为一个布尔数组,第二个参数和第三个参数可以是标量也可以是数组。
cond = numpy.array([True,False,True,False]) a = numpy.where(cond,-2,2)# [-2 2 -2 2] cond = numpy.array([1,2,3,4]) a = numpy.where(cond>2,-2,2)# [ 2 2 -2 -2] b1 = numpy.array([-1,-2,-3,-4]) b2 = numpy.array([1,2,3,4]) a = numpy.where(cond>2,b1,b2) # 长度须匹配# [1,2,-3,-4]改
> a = np.array([[1,2],[3,4],[5,6]]) > a[0] = [11,22]#修改第一行数组[1,2]为[11,22]。 > a[0][0] = 111#修改第一个元素为111,修改后,第一个元素“1”改为“111”。 > a = np.array([[1,2],[3,4],[5,6]]) > b = np.array([[10,20],[30,40],[50,60]]) > a+b #加法必须在两个相同大小的数组键间运算。 array([[11, 22], [33, 44], [55, 66]])不同维数的数组直接相加显然是不允许的。但是可以用一个n行列向量和一个m列行向量构造出一个n×m矩阵
> a = np.array([[1],[2]]) > a array([[1], [2]]) > b=([[10,20,30]])#生成一个list,注意,不是np.array。 > b [[10, 20, 30]] > a+b array([[11, 21, 31], [12, 22, 32]]) > c = np.array([10,20,30]) > c array([10, 20, 30]) > c.shape (3,) > a+c array([[11, 21, 31], [12, 22, 32]])数组和一个数字的加减乘除的运算,相当于一个广播,把这个运算广播到各个元素中去。
> a = np.array([[1,2],[3,4],[5,6]]) > a*2#相当于a中各个元素都乘以2.类似于广播。 array([[ 2, 4], [ 6, 8], [10, 12]]) > a**2 array([[ 1, 4], [ 9, 16], [25, 36]]) > a>3 array([[False, False], [False, True], [ True, True]]) > a+3 array([[4, 5], [6, 7], [8, 9]]) > a/2 array([[0.5, 1. ], [1.5, 2. ], [2.5, 3. ]])删
方法一:
利用查找中的方法,比如a=a[0],操作完居后,a的行数只剩一行了。
> a = np.array([[1,2],[3,4],[5,6]]) > a[0] array([1, 2])方法二:
> a = np.array([[1,2],[3,4],[5,6]]) > np.delete(a,1,axis = 0)#删除a的第二行。 array([[1, 2], [5, 6]]) > np.delete(a,(1,2),0)#删除a的第二,三行。 array([[1, 2]]) > np.delete(a,1,axis = 1)#删除a的第二列。 array([[1], [3], [5]])方法三:
先分割,再按切片a=a[0]赋值。
> a = np.array([[1,2],[3,4],[5,6]]) > np.hsplit(a,2)#水平分割(搞不懂,明明是垂直分割嘛?) [array([[1], [3], [5]]), array([[2], [4], [6]])] > np.split(a,2,axis = 1)#与np.hsplit(a,2)效果一样。 > np.vsplit(a,3) [array([[1, 2]]), array([[3, 4]]), array([[5, 6]])] > np.split(a,3,axis = 0)#与np.vsplit(a,3)效果一样。以上这篇Numpy array数据的增、删、改、查实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
DDR爱好者之家 Design By 杰米
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
DDR爱好者之家 Design By 杰米
暂无评论...
更新日志
2024年11月29日
2024年11月29日
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]