草庐IT

numpy-ndarray

全部标签

python - 使用 NumPy 数组交换列

当我有a=1和b=2时,我可以写a,b=b,a这样a和b可以互换。我将这个矩阵用作数组:[1,2,0,-2][0,0,1,2][0,0,0,0]交换numpy数组的列不起作用:importnumpyasnpx=np.array([[1,2,0,-2],[0,0,1,2],[0,0,0,0]])x[:,1],x[:,2]=x[:,2],x[:,1]它产生:[1,0,0,-2][0,1,1,2][0,0,0,0]所以x[:,1]只是被覆盖了,并没有转移到x[:,2]。为什么会这样? 最佳答案 如果你想交换列,你可以这样做printxx[

python - 单括号和双括号 Numpy 数组之间的区别?

这两个numpy对象有什么区别?importnumpyasnpnp.array([[0,0,0,0]])np.array([0,0,0,0]) 最佳答案 In[71]:np.array([[0,0,0,0]]).shapeOut[71]:(1,4)In[72]:np.array([0,0,0,0]).shapeOut[72]:(4,)前者是一个1x4的二维数组,后者是一个4元素的一维数组。 关于python-单括号和双括号Numpy数组之间的区别?,我们在StackOverflow上找到

python - 在 Python numpy 掩码数组中用最近的邻居填充缺失值?

我正在使用Python中的2DNumpymasked_array。我需要更改屏蔽区域中的数据值,使它们等于最接近的未屏蔽值。注意。如果有多个最接近的未屏蔽值,那么它可以采用这些最接近的值中的任何一个(事实证明最容易编码的值……)例如importnumpyimportnumpy.maasmaa=numpy.arange(100).reshape(10,10)fill_value=-99a[2:4,3:8]=fill_valuea[8,8]=fill_valuea=ma.masked_array(a,a==fill_value)>>>a[[0123456789][1011121314151

python - 将元组列表转换为结构化的 numpy 数组

我有一个Num_tuples元组的列表,它们都具有相同的长度Dim_tuplexlist=[tuple_1,tuple_2,...,tuple_Num_tuples]为了明确起见,假设Num_tuples=3和Dim_tuple=2xlist=[(1,1.1),(2,1.2),(3,1.3)]我想使用用户提供的列名列表user_names和用户提供的列表将xlist转换为结构化的numpy数组xarr变量类型列表user_typesuser_names=[name_1,name_2,...,name_Dim_tuple]user_types=[type_1,type_2,...,typ

python - 如何在numpy的范围内获得正态分布?

这个问题在这里已经有了答案:Howtospecifyupperandlowerlimitswhenusingnumpy.random.normal(7个回答)关闭2年前。在机器学习任务中。我们应该得到一组有界的随机w.r.t正态分布。我们可以使用np.random.normal()获得正态分布数,但它不提供任何绑定(bind)参数。我想知道怎么做? 最佳答案 truncnorm的参数化很复杂,所以这里有一个函数可以将参数化转换为更直观的东西:fromscipy.statsimporttruncnormdefget_truncated

python - 从 ctypes 数组中获取数据到 numpy

我正在使用Python(通过ctypes)包装的C库来运行一系列计算。在运行的不同阶段,我想将数据输入Python,特别是numpy数组。我使用的包装对数组数据有两种不同类型的返回(我特别感兴趣):ctypes数组:当我做type(x)(其中x是ctypes数组,我得到作为返回。我知道该数据是文档中内部数据的副本,我可以轻松地将其放入numpy数组中:>>>np.ctypeslib.as_array(x)这将返回一维numpy数据数组。ctype指向数据的指针:在这种情况下,从库的文档中,我了解到我正在获取指向存储并直接用于库的数据的指针。乳清我做type(y)(其中y是指针)我得到.

python - 展平 NumPy 数组列表?

看来我有NumPy数组列表格式的数据(type()=np.ndarray):[array([[0.00353654]]),array([[0.00353654]]),array([[0.00353654]]),array([[0.00353654]]),array([[0.00353654]]),array([[0.00353654]]),array([[0.00353654]]),array([[0.00353654]]),array([[0.00353654]]),array([[0.00353654]]),array([[0.00353654]]),array([[0.00353

python - 比较包含 NaN 的 numpy 数组

对于我的单元测试,我想检查两个数组是否相同。简化示例:a=np.array([1,2,np.NaN])b=np.array([1,2,np.NaN])ifnp.all(a==b):print'arraysareequal'这不起作用,因为nan!=nan。最好的方法是什么? 最佳答案 对于1.19之前的numpy版本,这可能是不专门涉及单元测试的情况下的最佳方法:>>>((a==b)|(numpy.isnan(a)&numpy.isnan(b))).all()True但是,现代版本为array_equal函数提供了一个新的关键字参数

numpy - 在 pandas 中使用科学记数法

我找到了很多关于如何在pandas中抑制科学记数法的答案,但是我该如何启用呢?我找到了选项pd.set_option('precision',2)但它不会将大数转换为科学记数法。例如,我希望将数字123066.14格式化为1.23E+5。我正在使用pandas.DataFrame,在导出/打印时设置整列的格式会很有用。 最佳答案 好的,我想通了,你可以使用set_option并将格式字符串传递给选项'display.float_format':In[76]:pd.set_option('display.float_format','

python - 当我尝试在 Windows 10 上安装 caffe 时,脚本找不到 python 库和 numpy

我一直在使用this在我的Windows10系统上安装caffe的资源。我首先通过命令提示符为Python安装必要的依赖项:C:\Users\MYNAME>condaconfig--addchannelsconda-forgeC:\Users\MYNAME>condaconfig--addchannelswillydC:\Users\MYNAME>condainstall--yescmakeninjanumpyscipyprotobuf==3.1.0sixscikit-imagepyyamlpydotplusgraphviz然后我在我的C:\目录中创建了一个名为caffe的空目录。然后