【python3库numpy数组属性的查看方法】教程文章相关的互联网学习教程文章

python – 解析numpy数组的字符串表示【代码】

如果我只有numpy.array的字符串表示形式:>>> import numpy as np >>> arr = np.random.randint(0, 10, (10, 10)) >>> print(arr) # this one! [[9 4 7 3][1 6 4 2][6 7 6 0][0 5 6 7]]如何将其转换回numpy数组?实际插入手动并不复杂,但我正在寻找一种程序化方法. 一个简单的正则表达式替换空格,实际上适用于单位数整数:>>> import re >>> sub = re.sub('\s+', ',', """[[8 6 2 4 0 2] ... [3 5 8 4 5 6] ... [4 6 3 3 0 3]] ...

python – 将多个numpy数组写入文件【代码】

我知道如何使用numpy.savetxt将数组写入文件.如何将多个数组写入同一个文件? 基本上我想对一列数字进行数学运算,然后用修改后的数字替换旧列.我读到最简单的方法是完全编写一个新文件,将修改后的数字放入,然后“复制并粘贴”文件中的其他数字. 任何帮助表示赞赏. 谢谢!解决方法:如果您想将多个数组写入文件供以后使用,请查看numpy.savez. 但是,根据您的描述,听起来您想要对分隔文本文件的特定列执行某些操作. 在这种情况下,只需加...

Python – 在2D numpy数组中查找特定值的最大区域的有效方法【代码】

我有一个2D numpy数组,其中一些值为零,有些则不是.我试图找到一种有效的方法来找到数组中最大的零块(通过返回零的数量,以及对中心位置的粗略概念) 例如,在这个数组中,我想找到9的丛,中心为(3,4):[[ 1, 1, 1, 0, 0 ],[ 1, 0, 1, 1, 0 ],[ 1, 1, 1, 1, 1 ],[ 1, 1, 0, 0, 0 ],[ 1, 1, 0, 0, 0 ],[ 1, 1, 0, 0, 0 ]]是否有一个很好的矢量化方式来在numpy或scipy中完成这样的事情? 这些团块的形状大致为圆形,并且没有孔. 来自scipy的...

python – 使用任意数量的维度快速访问Numpy数组中的第一个元素?【代码】

我有一个函数,我想快速访问给定Numpy数组的第一个(也称为第零个)元素,它本身可能有任意数量的维度.最快的方法是什么? 我目前正在使用以下内容:a.reshape(-1)[0]这将可能多维度的数组重新整形为一维数组,并抓住第零个元素,这个元素短,甜,通常很快.但是,我认为这对于某些数组来说效果不佳,例如,一个数组是大数组的转置视图,因为我担心这最终需要创建一个副本,而不仅仅是原始数组的另一个视图,按顺序以正确的顺序获得一切. (这是对的...

python – 使用ctypes数组作为numpy数组时的PEP 3118警告【代码】

当我尝试将ctypes数组用作numpy数组时,我收到以下警告消息:Python 2.7.1 (r271:86832, Nov 27 2010, 18:30:46) [MSC v.1500 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import ctypes, numpy >>> TenByteBuffer = ctypes.c_ubyte * 10 >>> a = TenByteBuffer() >>> b = numpy.ctypeslib.as_array(a) C:\Python27\lib\site-packages\numpy\ctypeslib.py:402: RuntimeW...

python – 检查numpy数组是否在numpy数组列表中【代码】

我有一个numpy数组列表和一个numpy数组.我想检查单个数组是否是列表的成员. 我想有一种方法,我没有正确搜索…这就是我想出的:def inList(array, list):for element in list:if np.array_equal(element, array):return Truereturn False这个实现是否正确?这有什么功能吗?解决方法:使用动词是在谈论python时有点含糊不清.这个例子涵盖了我能想到的所有案例:from __future__ import print_function from numpy import array, arra...

python – 仅获取满足numpy数组条件的那些值【代码】

必须有一种(非常)快速有效的方法来从一个numpy数组中获取元素,或者从一个片段中获得更有趣的元素.假设我有一个numpy数组:import numpy as np a = np.arange(-10,10)现在,如果我有一个清单:s = [9, 12, 13, 14]我可以选择以下元素:a[s] #array([-1, 2, 3, 4])我怎么能有一个(numpy)数组由[s]中满足条件的元素组成,即是正数(或负数)?应该结果np.ifcondition(a[s]>0, a[s]) #array([2, 3, 4])它看起来微不足道,但我无法找到...

python – Matplotlib图像作为一个numpy数组【代码】

我正在尝试从Matplotlib图中获取一个numpy数组图像,我现在正在通过保存到文件,然后重新读取文件来实现它,但我觉得必须有更好的方法.这就是我现在正在做的事情:from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas from matplotlib.figure import Figurefig = Figure() canvas = FigureCanvas(fig) ax = fig.gca()ax.text(0.0,0.0,"Test", fontsize=45) ax.axis('off')canvas.print_figure("output.png"...

python – 将numpy数组转换为CSV字符串,将CSV字符串转换回numpy数组【代码】

我必须将numpy浮点数组转换为字符串(存储在SQL DB中),然后将相同的字符串转换回numpy float数组. 这就是我要去一个字符串(based on this article)VIstring = ''.join(['%.5f,' % num for num in VI]) VIstring= VIstring[:-1] #Get rid of the last comma首先,这确实有效,这是一个好方法吗?他们是摆脱最后一个逗号的更好方法吗?或者我可以使用join方法为我插入逗号吗? 其次,更重要的是,是否有一种聪明的方法从字符串返回浮点数组...

python – 通过pybind11返回numpy数组【代码】

我有一个计算大张量的C函数,我希望通过pybind11将其作为NumPy数组返回到Python. 从pybind11的文档来看,似乎使用STL unique_ptr 是可取的.在下面的示例中,注释掉的版本有效,而给定的版本在运行时编译但失败(“无法将函数返回值转换为Python类型!”). 为什么smartpointer版本失败了?创建和返回NumPy数组的规范方法是什么? PS:由于程序结构和数组的大小,不希望复制内存,而是从给定的指针创建数组.内存所有权应由Python采用.typede...

python – 将列添加到结构化的Numpy数组中【代码】

我在geo.dat中有以下数据id lon lat inhab name1 9. 45. 100 Ciriè2 10. 45. 60 Acquanegra我在一个ndarray中得到它import numpy as np data = np.genfromtxt('geo.dat', dtype=None, names=True)到目前为止,这么好,我有一个数据结构,我可以通过列名称来解决print(data['name'][1]) #>>> Acquanegra下一步,问题 – 我有一个函数,它接受输入两个向量地理坐标(数据[‘LON’]和数据[‘LAT’]当然)并返回地图上两个投影...

python – 检查两个3D numpy数组是否包含重叠的2D数组【代码】

我有两个非常大的numpy数组,都是3D.我需要找到一种有效的方法来检查它们是否重叠,因为首先将它们转换为集合需要花费太长时间.我尝试使用另一种解决方案,我在这里找到同样的问题,但对于2D阵列,但我没有设法让它适用于3D.这是2D的解决方案:nrows, ncols = A.shape dtype={'names':['f{}'.format(i) for i in range(ndep)],'formats':ndep * [A.dtype]} C = np.intersect1d(A.view(dtype).view(dtype), B.view(dtype).view(dtype)) #...

python – 将3D Numpy数组重新整形为2D数组【代码】

我在Numpy中有以下3D数组:a = np.array([[[1,2],[3,4]], [[5,6],[7,8]], [[9,10],[11,12]],[[13,14],[15,16]]])我写的时候b = np.reshape(a, [4,4])2D结果数组看起来像[[ 1 2 3 4][ 5 6 7 8][ 9 10 11 12][13 14 15 16]]但是,我希望它是这样的形状:[[ 1 2 5 6][ 3 4 7 8][ 9 10 13 14][11 12 15 16]]我怎样才能在Python / Numpy中有效地完成这项工作?解决方法:重塑以将第一轴分成两个,置换轴和另一个重塑 – a.resh...

python – 使用:用于列表或numpy数组中的多个切片【代码】

我在尝试弄清楚如何在列表中提取多个值时遇到一些困难.例如,给定一个列表l = [0,1,2,3,4,5,6,7,8,9,10],我想只提取值[1,2,3]和[6, 7,8,9].我能做到[1:4] l [6:-1],但有没有办法写l [1:4,6:-1]? 对于我在pandas数据帧中遇到的实际问题,这实际上是一个鬼问题.我有一个数据帧,df,列[‘A’,’B’,’C’,’I1′,’D’,’E’,’F’,’I2′,’I3′],我只有想要保留重要的列[‘I1′,’I2′,’I3’].现在,我正在做的当前方法是 df.drop...

python – 通过索引将numpy数组中的值设置为NaN【代码】

我想在numpy数组中将特定值设置为NaN(从行方式平均计算中排除它们). 我试过了import numpyx = numpy.array([[0, 1, 2, 3, 4, 5, 6, 7, 8, 9], [0, 0, 0, 0, 0, 0, 0, 0, 1, 0]]) cutoff = [5, 7] for i in range(len(x)):x[i][0:cutoff[i]:1] = numpy.nan看x,我只看到-9223372036854775808,我期待NaN. 我想过另一种选择:for i in range(len(x)):for k in range(cutoff[i]):x[i][k] = numpy.nan什么都没发生.我究竟做错了什么?解决...

PYTHON3 - 相关标签