【python – 删除NumPy数组中包含重复项的行】教程文章相关的互联网学习教程文章

python – 通过int选择numpy数组轴【代码】

我试图系统地访问一个numpy数组的轴.例如,假设我有一个数组a = np.random.random((10, 10, 10, 10, 10, 10, 10)) # choosing 7:9 from axis 2 b = a[:, :, 7:9, ...] # choosing 7:9 from axis 3 c = a[:, :, :, 7:9, ...]如果我有一个高维数组,键入冒号会非常重复.现在,我想要一些函数choose_from_axis这样# choosing 7:9 from axis 2 b = choose_from_axis(a, 2, 7, 9) # choosing 7:9 from axis 3 c = choose_from_axis(a, 3, 7...

python – 如何将numpy数组转换为pandas数据帧【代码】

如何将numpy数组转换为pandas数据帧? 例如:test = np.array([[1,2],[2,3]]) test2 = np.array([[2,4],[2,5]])对此:pd.DataFrame({'test':[[1,2],[2,3]],'test2':[[2,4],[2,5]]})test test2 0 [1, 2] [2, 4] 1 [2, 3] [2, 5]解决方法:虽然你可以使用In [85]: pd.DataFrame({'test':test.tolist(), 'test2':test2.tolist()}) Out[85]: test test2 0 [1, 2] [2, 4] 1 [2, 3] [2, 5]NumPy数组上的计算可能比在包含Pytho...

python – Zip不均匀的numpy数组【代码】

考虑以下numpy.arrays:a = np.array([1., 2., 3.]) b = np.array([4., 5.]) c = np.array([6., 7.])我需要结合这些,所以我最终得到以下内容:[(1., 4., 6.), (1., 5., 7.), (2., 4., 6.), (2., 5., 7.), (3., 4., 6.), (3., 5., 7.)]请注意,在这种情况下,数组a恰好是最大的数组.但是,这并不能保证.长度也不保证.换句话说,任何数组都可以是最长的,每个数组都是任意长度的. 我尝试使用itertools.izip_longest,但我只能使用fillvalue...

python – 将numpy数组扩展到具有自己内容的特定范围【代码】

使用自己的值扩展到特定大小的数组的最有效方法是什么?import numpy as np# For this example, lets use an array with 4 items data = np.array([[0,1,2],[3,4,5],[6,7,8],[9,10,11]]) # 4 items# I want to extend it to 10 items, here's the expected result would be: data = np.array([[ 0, 1, 2],[ 3, 4, 5],[ 6, 7, 8],[ 9, 10, 11],[ 0, 1, 2],[ 3, 4, 5],[ 6, 7, 8],[ 9, 10, 11],[ 0, 1, 2],[ 3, 4, 5...

Python:当一个数组被转置时,numpy数组是否被链接?【代码】

目前我正在研究一个从文本文件中提取测量数据的python脚本.我正在使用iPython Notebook和Python 2.7 现在,在使用numpy数组时,我遇到了一些奇怪的行为.我对此没有任何解释.myArray = numpy.zeros((4,3)) myArrayTransposed = myArray.transpose()for i in range(0,4):for j in range(0,3):myArray[i][j] = i+jprint myArray print myArrayTransposed导致:[[ 0. 1. 2.][ 1. 2. 3.][ 2. 3. 4.][ 3. 4. 5.]][[ 0. 1. 2. 3....

python – 在numpy数组中更改的值【代码】

所以我有一个2D numpy数组(256,256),包含0到10之间的值,这实际上是一个图像.我需要删除0值并将它们设置为NaN,以便我可以使用特定库(APLpy)绘制数组.但是,每当我尝试更改所有0值时,其他一些值都会被更改,在某些情况下会更改为原始值的100倍(不知道为什么). 我正在使用的代码是:for index, value in np.ndenumerate(tex_data):if value == 0:tex_data[index] = 'NaN'其中tex_data是我需要从中删除零的数据数组.不幸的是,我不能只使用...

python – 用点距离填充numpy数组的最快方法【代码】

我有一个numpy数组,代表一个空间体积上的3d网格,每个单元格代表一个非立方体素(缩放在所有三个维度中都是任意的).该阵列是每维度O(500)个体素. 我想用给定XYZ点到每个体素中心的距离填充该数组. 我可以使用python for-loops填充数组,但这比我想要的慢.有没有办法快速使用numpy / scipy? 转换为XYZ坐标由两个元组完成,一个给出0,0,0体素中心的XYZ坐标,另一个给出XYZ单位体素的大小.解决方法:使用每个维度中的距离创建一个ogrid,然后...

python – 在没有科学记数法的情况下将numpy数组保存为CSV【代码】

我能够计算A的平均值,最小值和最大值:import numpy as npA = ['33.33', '33.33', '33.33', '33.37']NA = np.asarray(A)NA = NA.astype(float)AVG = np.mean(NA, axis=0)MN = np.min(NA, axis=0)MX = np.max(NA, axis=0)print AVG, MN, MX使用python将这些结果保存到csv documento的最简单方法是什么?我没有,所以需要创建它. 如果我用这个:np.savetxt('datasave.csv', (AVG,MN,MX), delimiter=',')它将在csv中显示为科学记数法.我...

python – 使用字符串定义Numpy数组切片【代码】

我的图像数组的X倍Y形状为20482088. x轴具有两个20个像素区域,一个在开始处,一个在末端,用于校准主图像区域.要访问这些区域,我可以像这样切片:prescan_area = img[:, :20] data_area = img[:, 20:2068] overscan_area = img[:, 2068:]我的问题是如何在配置文件中定义这些区域,以便将此切片推广到可能具有不同预扫描和过扫描区域的其他相机,因此需要不同的切片. 理想情况下,类似下面的字符串将允许在相机特定配置文件中的简单表示,...

python – 在numpy数组中每隔n次删除一系列元素【代码】

我知道如何删除numpy数组中的每个第4个元素:frame = np.delete(frame,np.arange(4,frame.size,4))现在我想知道是否有一个简单的命令可以删除每n个(例如4)次3个值. 一个基本的例子:input: [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20….]会导致:output: [1,2,3,7,8,9,13,14,15,19,20,….]我希望有一个简单的numpy / python功能,而不是编写一个必须迭代向量的函数(因为它在我的情况下很长,…). 谢谢您的帮助解决方法:使...

python – 在维度上按范数对多维NumPy数组进行排序【代码】

我正在使用多维NumPy数组a,它是22矩阵的“向量”.我想排序一个22矩阵按行规范排序.import numpy as np a = np.array([[[3, 4],[1, 2]],[[5, 6],[7, 8]]]) sortidxs = np.argsort(np.linalg.norm(a, axis=-1)) a = np.array([a[_][sortidxs[_]] for _ in range(a.shape[0])])# And the final output should be:print(a) [[[1 2][3 4]][[5 6][7 8]]]上面的代码片段做了我想要的(不完全,请看下面的编辑).但我一直在寻找避免循环的...

python – 使用冒号表示法在NumPy数组中选择特定列【代码】

我有一个40000乘60 Numpy阵列,我想这样:mat[:,[0:13,19:23,23:31,39:59]]显然,它不起作用.除了连接之外,还有更聪明的方法吗?解决方法:使用np.r_ – mat[:,np.r_[0:13,19:23,23:31,39:59]]样品运行 – In [48]: mat = np.random.rand(100,1000)In [50]: mat[:,np.r_[0:13,19:23,23:31,39:59]].shape Out[50]: (100, 45)In [51]: 13+4+8+20 Out[51]: 45

python – Numpy:在另一个numpy数组中创建一批numpy数组(重新整形)【代码】

我有一个numpy阵列形状(32,5).批处理的每个元素都包含一个numpy数组batch_elem = [s,_,_,_,_],其中s = [img,val1,val2]是一个三维numpy数组,_只是标量值.img是一个尺寸为(84,84,3)的图像(numpy数组) 我想创建一个具有形状(32,84,84,3)的numpy数组.基本上我想在每个批次中提取图像信息并将其转换为4维数组. 我尝试了以下方法:b = np.vstack(batch[:,0]) #this yields a b with shape (32,3), type: <class 'numpy.ndarray'>现在我想...

获取python numpy数组的列名【代码】

我有一个csv数据文件,其中包含一个表示列名的标题.xy wz hi kq 0 10 5 6 1 2 4 7 2 5 2 6我跑:X = np.array(pd.read_csv('gbk_X_1.csv').values)我想获取列名称:['xy', 'wz', 'hi', 'kg']我读了这个post,但解决方案为我提供了无.解决方法:使用以下代码:import ref = open('f.csv','r')alllines = f.readlines() columns = re.sub(' +',' ',alllines[0]) #delete extra space in one line columns = columns...

python – 掩盖numpy数组,将nan评估为True【代码】

考虑一个包含数据的numpy数组:aa = np.array([-4.793, -1.299, 0.453, np.nan, np.nan, 1.131, 0.684, 1.037])我需要创建一个这样的掩码:mask = -4. < aa评估为array([False, True, True, False, False, True, True, True], dtype=bool)这是一个问题:我需要将nan值评估为True. 我正在寻找一个不涉及修改输入数组aa的通用解决方案.解决方法:使用logic function非常简单import numpy as npaa = np.array([-4.793, -1.299, 0.453,...