首页 > 编程 > Python > 正文

Numpy array数据的增、删、改、查实例

2020-02-15 21:37:58
字体:
来源:转载
供稿:网友

准备工作:

增、删、改、查的方法有很多很多种,这里只展示出常用的几种。

>>> 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〜6,不包括7.第三个参数表步长为1. a = np.linspace(0,10,7) # 生成首位是0,末位是10,含7个数的等差数列[ 0.  1.66666667 3.33333333 5.  6.66666667 8.33333333 10. ] a = np.logspace(0,4,5)#用于生成首位是10**0,末位是10**4,含5个数的等比数列。[ 1.00000000e+00 1.00000000e+01 1.00000000e+02 1.00000000e+03 1.00000000e+04] 

>>> 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]]) 

>>> aarray([[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] 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表