【python – 如何根据参数创建一个切片数组的函数】教程文章相关的互联网学习教程文章

python – 带有(n-1)d数组的索引n维数组【代码】

使用沿给定维度的(n-1)维数组访问n维数组的最优雅方法是什么,如虚拟示例中所示a = np.random.random_sample((3,4,4)) b = np.random.random_sample((3,4,4)) idx = np.argmax(a, axis=0)我现在如何使用idx a来获取最大值,就像我使用了a.max(axis = 0)一样?或者如何在b中检索idx指定的值? 我想过使用np.meshgrid,但我认为这是一种矫枉过正.请注意,尺寸轴可以是任何有用的轴(0,1,2),并且事先不知道.有一种优雅的方式来做到这一点?...

python – 从np.empty初始化numpy数组【代码】

从空内存初始化ndarray时,符号位是如何确定的?>>> np.random.randn(3,3) array([[-0.35557367, -0.0561576 , -1.84722985],[ 0.89342124, -0.50871646, 1.31368413],[ 0.0062188 , 1.62968789, 0.72367089]]) >>> np.empty((3,3)) array([[0.35557367, 0.0561576 , 1.84722985],[0.89342124, 0.50871646, 1.31368413],[0.0062188 , 1.62968789, 0.72367089]])从空记忆中初始化的这些浮点值已经失去了它们的标志?.这是为什么? ...

python – LightGBM:ValueError:具有多个元素的数组的真值是不明确的.使用a.any()或a.all()【代码】

我在使用具有分类功能的lightgbm:X_train, X_test, y_train, y_test = train_test_split(train_X, train_y, test_size=0.3)train_data = lgb.Dataset(X_train, label=y_train, feature_name=X_train.columns, categorical_feature=cat_features)test_data = lgb.Dataset(X_test, label=y_train, reference=train_data)param = {'num_trees': 4000, 'objective':'binary', 'metric': 'auc'} bst = lgb.train(param, train_data, va...

如何检查数组是否在Python中的另一个数组中【代码】

我认为这对此有好处,但它会在不应该的地方返回.例如:import numpy as npa = np.array([])for i in range(3):for j in range(3):a = np.append(a,[i,j]) a = np.reshape(a,(9,2)) print(a)print([[0,40]] in a)将打印为真.我无法理解为什么会这样做…是因为0在列表中?如果整个数组都在列表中,我想要只打印一些东西. 我想要我的清单[[0,1], [0,2]]并且只有当[0,x](相同形状的相同顺序)在其中时才返回true.解决方法:你可以这样做:(...

python – 在数组中选择N个均匀间隔的元素,包括first和last【代码】

我有一个任意长度的数组,我想选择它的N个元素,均匀间隔(大约,因为N可能是偶数,数组长度可能是素数等),包括第一个arr [0]元素和最后一个arr [len-1]元素. 例:>>> arr = np.arange(17) >>> arr array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16])然后我想创建一个像下面这样的函数来抓取数组内均匀分布的numElems,它必须包含第一个和最后一个元素:GetSpacedElements(numElems = 4) >>> returns 0, 5, 1...

python 如何获取数组长度? len()

参考文章:Python返回数组(List)长度的方法

python 数组的常识操作和切片

为什么会用到List数组的操作,首先如果你定义一个字符串a=1214477777,以这个字符串为例子,如果你想取7的值那么你需要喜欢这个字符串,加上判断是否等于,如果等于7打印7的内容,这样就会很麻烦,代码行数也会增加 这时候就要使用list数组的操作,数组就是取值方便的集合,比如你定义一个数组a=[1,2,3,4]如果你想取其中一个值只需要知道他的下标你就可以取值了,也就是a[你想取的值]这样就会非常方便 下面就说一些数组的简单常用操...

python – 将vtkPoints转换为numpy数组?【代码】

我在Python脚本中使用Mayavi2来计算3d等值面.结果我得到了一个vtkPoints对象.现在我想将这个vtkPoints对象(下面的代码示例中的’vtkout’)转换为一个简单的numpy数组,其中3行包含所有x,y和z值.我使用这样的代码得到vtkout:import numpy from enthought.mayavi import mlab import arrayrandVol = numpy.random.rand(50,50,50) # fill volume with some random potential X, Y, Z = numpy.mgrid[0:50, 0:50, 0:50] # g...

Boost.python重载了numpy数组和python列表的构造函数【代码】

给定使用Boost.Python公开的C类,如何公开两个构造函数: >一个采用numpy数组,和>另一个需要python列表?解决方法:我不是100%的意思,但我假设你想让一个构造函数采用Python列表而另一个采用numpy数组.有几种方法可以解决这个问题.最简单的方法是使用make_constructor函数并重载它:using boost; using boost::python;shared_ptr<MyClass> CreateWithList(list lst) {// construct with a list here }shared_ptr<MyClass> CreateWit...

python – 使用xlwt将数组从特定列开始写入新工作簿【代码】

我正在尝试将数组(data = [] [])写入我将使用xlwt创建的工作表.我的问题是我可以指定一个列来开始吗?我打算使用for循环遍历数组,逐行检索值,每行开始一个新行ex:第一行从C1开始,下一行从C2开始等…我已阅读文档和示例但无法找到明确的方法来做到这一点.任何帮助将不胜感激!解决方法:就像是:wb = xlwt.Workbook() ws = wb.add_sheet('Sheet1') for r, row in enumerate(data):for c, col in enumerate(row):ws.write(r, 2 + c, ...

python – 使用嵌套循环创建2D数组【代码】

以下代码n = 3 matrix = [[0] * n] * n for i in range(n):for j in range(n):matrix[i][j] = i * n + j print(matrix)版画[[6, 7, 8], [6, 7, 8], [6, 7, 8]]但我的期望是[[0, 1, 2], [3, 4, 5], [6, 7, 8]]为什么?解决方法:请注意:>>> matrix = [[0] * 3] * 3 >>> [x for x in matrix] [[0, 0, 0], [0, 0, 0], [0, 0, 0]] >>> [id(x) for x in matrix] [32484168, 32484168, 32484168] >>>三行但只有一个对象. 有关s * n操作,...

python – 如何将常规numpy数组转换为记录数组?【代码】

我读了一系列数字np.array(f.read().split(),dtype=np.float64)然后我使用np.reshape()将其转换为二维数组. 在此之后,如何将arr转换为记录数组?我尝试了(类似)以下内容:filename = 'unstructured-file.txt' nfields = 3 names = ('r','g','b') with open(filename,'r') as f:arr = np.array(f.read().split(),dtype=np.float64)arr = arr.reshape(-1,nfields)out = np.array(arr,dtype=zip(names,['float64']*length(names))但是...

python – 使用numpy.where()返回完整数组的索引,其中测试条件位于切片上【代码】

我有以下3 x 3 x 3 numpy数组称为a(在阅读完其余问题后,注释将有意义):array([[[8, 1, 0], # irrelevant 1 (is at position 1 rather than 0)[1, 7, 5], # the 1 on this line is what I am after![1, 4, 9]], # irrelevant 1 (out of the "cross")[[4, 0, 1], # irrelevant 1 (is at position 2 rather than 0)[1, 0, 1], # I'm only after the first 1 on this line![6, 2, 1]], # irrelevant 1 (is at p...

python – 向数组添加向量【代码】

一个非常愚蠢的问题,但我想不出正确的方法.. > A是2乘2矩阵,B是2乘1矩阵.>在10次迭代循环中,B_new = A * B. B_new是2比1.>在每次迭代后将B_new保存到输出矩阵B_final.所以最后,B_final是2乘10. 但是,我有一个循环中将B添加到B_new的问题.以下是我的代码,有人能给我一些建议吗?import numpy as np a=np.ones(shape=(2,2)) b=np.ones(shape=(2,1)) c_final=np.zeros(shape=(2,10)) for i in range(0,10):c=np.dot(a,b)b=cc_fin...

python – 使用numpy中的1d数组从2d数组中选择多个元素【代码】

numpy中有两个数组.第一个是2d数组,可以将其视为向量列表.第二个是1d数组,可以将其视为2d数组的索引列表. 我想使用1d数组的索引选择2d数组的元素.现在我一直在做z=rnd.rand(2,10) # a list of 2d vectors of length 10z_idx=rnd.randint(2,size=z.shape[1]) #indices selecting a dimension of the 2d vectorresult=np.array([z[z_idx[i],i] for i in xrange(len(z_idx))])但这很慢. 在numpy中有更好的方法吗?解决方法:可能是最简...