Questions tagged «numpy»

NumPy是Python编程语言的科学和数字计算扩展。

7
ImportError:无法导入名称“ _validate_lengths”
我已经开始学习Tensorflow。我正在使用Pycharm,环境是Ubuntu 16.04。我正在学习本教程。我交叉检查了小瘤。它是最新的。我不知道此错误的原因。 从numpy.lib.arraypad import _validate_lengths ImportError:无法导入名称“ _validate_lengths” 需要提示来解决此错误。谢谢。 import tensorflow as tf from skimage import transform from skimage import data import matplotlib.pyplot as plt import os import numpy as np from skimage.color import rgb2gray import random #listdir: This method returns a list containing the names of the entries in the …

4
从Eclipse运行时,关闭matplotlib中现有的图形
我的问题很简单:我有一个使用matplotlib生成图形的python脚本。每次我运行它都会生成带有数字的新窗口。如何让脚本关闭上次运行时打开的窗口? Matlab中的类似命令是将“全部关闭”放在matlab脚本的开头。 我看到了一些建议来做类似的事情 import matplotlib.pyplot as plt plt.close("all") 如果您从python shell运行脚本(例如使用),则此解决方案有效 >>>> execfile("myScript.py") 但是,我发现如果我使用Eclipse / PyDev运行脚本,这将不起作用。如何使其在Eclipse中工作? 例: from numpy import * from matplotlib.pyplot import * from scipy import * close("all") #close any previously open plots - this doesn't work when running via Eclipse t = linspace(0, 0.1,1000) w = 60*2*pi figure() …

10
在Amazon Lambda中使用moviepy,scipy和numpy
我想使用AWS Lambda功能生成视频。 我已按照此处和此处的说明进行操作。 现在,我可以通过以下过程来构建Lambda函数: 第1步 触发Amazon Linux EC2实例并以root身份在其上运行: #! /usr/bin/env bash # Install the SciPy stack on Amazon Linux and prepare it for AWS Lambda yum -y update yum -y groupinstall "Development Tools" yum -y install blas --enablerepo=epel yum -y install lapack --enablerepo=epel yum -y install atlas-sse3-devel --enablerepo=epel yum -y …

18
PIP安装Numpy引发错误“ ascii编解码器无法解码字节0xe2”
我在新构建的计算机上全新安装了Ubuntu。我刚刚使用apt-get安装了python-pip。现在,当我尝试点安装Numpy和Pandas时,出现以下错误。 我已经在SO和Google的很多地方看到过提到此错误,但是我找不到解决方案。有人提到这是一个错误,有些线程已经死了……这是怎么回事? Traceback (most recent call last): File "/usr/bin/pip", line 9, in <module> load_entry_point('pip==1.5.4', 'console_scripts', 'pip')() File "/usr/lib/python2.7/dist-packages/pip/__init__.py", line 185, in main return command.main(cmd_args) File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 161, in main text = '\n'.join(complete_log) UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 72: ordinal not in range(128)
67 python  numpy  pandas  pip 

1
使用LAPACK分发基于Cython的扩展
我正在编写一个包含Cython扩展和用法LAPACK(和BLAS)的Python模块。我打开使用两种clapack或lapacke,或某种f2c或f2py解决方案,如果必要的。重要的是,我能够在紧密的循环中从Cython调用lapack和blas例程,而没有Python调用开销。 我在这里找到了一个例子。但是,该示例取决于SAGE。我希望我的模块无需安装SAGE就可以安装,因为我的用户不太可能需要SAGE或其他任何东西。我的用户可能安装了numpy,scipy,pandas和scikit Learn之类的程序包,因此这些程序包是合理的依赖项。使用的接口的最佳组合是什么?最小的setup.py文件看起来像什么,可以从中获取编译所需的信息(从numpy,scipy等)? 编辑: 这就是我最终在做什么。它可以在我的Macbook上使用,但我不知道它的便携性。当然有更好的方法。 from distutils.core import setup from distutils.extension import Extension from Cython.Distutils import build_ext import numpy from Cython.Build import cythonize from numpy.distutils.system_info import get_info # TODO: This cannot be the right way blas_include = get_info('blas_opt')['extra_compile_args'][1][2:] includes = [blas_include,numpy.get_include()] setup( cmdclass = {'build_ext': build_ext}, ext_modules = cythonize([Extension("cylapack", ["cylapack.pyx"], …
67 python  numpy  cython  lapack  blas 

4
指定指向numpy,scipy和matplotlib的Intersphinx链接的目标
在用于在软件包之间设置Sphinx文档链接的文档之后,我添加了 intersphinx_mapping = {'python': ('http://docs.python.org/2', None), 'numpy': ('http://docs.scipy.org/doc/numpy/', None), 'scipy': ('http://docs.scipy.org/doc/scipy/reference/', None), 'matplotlib': ('http://matplotlib.sourceforge.net/', None)} 对我来说conf.py,但似乎无法获得除Python本身以外的任何项目的链接。例如 :term:`svg graphics <matplotlib:svg>` 只是将我带到索引页面,而没有添加预期的#term-svg锚点,而且我什至无法找到术语表,也无法确定scipy如何确定软件包支持哪些:ref:s或:term:s。 我在哪里可以找到如何指定目标指令:ref:S和:term:S IN numpy,scipy和matplotlib? 为此,我如何链接到Sphinx本身?新增中 intersphinx_mapping['sphinx'] = ('http://sphinx-doc.org/', None) 和 :ref:`Intersphinx <intersphinx>` 不起作用。

2
使用numpy奇怪的索引
我有一个变量x,其形状为(2,2,50,100)。 我也有一个数组y,它等于np.array([0,10,20])。当我索引x [0,:,:,y]时,发生了一件奇怪的事情。 x = np.full((2,2,50,100),np.nan) y = np.array([0,10,20]) print(x.shape) (2,2,50,100) print(x[:,:,:,y].shape) (2,2,50,3) print(x[0,:,:,:].shape) (2,50,100) print(x[0,:,:,y].shape) (3,2,50) 为什么最后一个输出(3,2,50)而不是(2,50,3)?
27 python  numpy 

3
关于多线程的Pandas和Numpy怪异错误
默认情况下,大多数Numpy函数都会启用多线程。 例如,如果我运行脚本,我将在8核Intel cpu工作站上工作 import numpy as np x=np.random.random(1000000) for i in range(100000): np.sqrt(x) linux top将在运行期间显示800%的cpu使用率,例如 numpy表示numpy自动检测到我的工作站具有8个核心,并np.sqrt自动使用所有8个核心来加速计算。 但是,我发现了一个奇怪的错误。如果我运行脚本 import numpy as np import pandas as pd df=pd.DataFrame(np.random.random((10,10))) df+df x=np.random.random(1000000) for i in range(100000): np.sqrt(x) CPU使用率是100%!! 这意味着,如果在运行任何numpy函数之前加上两个pandas DataFrame,则numpy的自动多线程功能将消失,而不会发出任何警告!这绝对是不合理的,为什么Pandas dataFrame计算会影响Numpy线程设置?是虫子吗?如何解决这个问题? PS: 我进一步使用Linux perf工具进行挖掘。 运行第一个脚本显示 运行第二个脚本时显示 因此,这两个脚本都涉及libmkl_vml_avx2.so,而第一个脚本则涉及其他libiomp5.so与openMP有关的脚本。 而且由于vml意味着intel向量数学库,所以根据vml doc,我猜至少下面的函数都是自动多线程的
25 python  pandas  numpy 

2
cv2.Rodrigues计算期间的Python结果更改
如果我运行: import numpy as np import cv2 def changes(): rmat=np.eye(4) tvec=np.zeros(3) (rvec, jacobian)=cv2.Rodrigues(rmat) print rvec for i in range(2): changes() 我得到: [[6.92798859e-310] [2.19380404e-316] [1.58101007e-322]] [[0.] [0.] [0.]] 所以changes()变化的结果。 我不明白为什么会这样,而且如果tvec=np.zeros(3)注释掉该行,它就会停止更改 ,这让我觉得这是系统中的错误。

8
numpy 1D数组:遮罩元素重复n次以上
给定整数数组 [1, 1, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5] 我需要掩盖重复N多次的元素。需要说明的是:主要目标是检索布尔掩码数组,以后再用于装箱计算。 我想出了一个相当复杂的解决方案 import numpy as np bins = np.array([1, 1, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5]) N = 3 …
18 python  arrays  numpy  binning 

4
有效地比较两列中的列表
当具有这样的Pandas DataFrame时: import pandas as pd import numpy as np df = pd.DataFrame({'today': [['a', 'b', 'c'], ['a', 'b'], ['b']], 'yesterday': [['a', 'b'], ['a'], ['a']]}) today yesterday 0 ['a', 'b', 'c'] ['a', 'b'] 1 ['a', 'b'] ['a'] 2 ['b'] ['a'] ... etc 但是,我希望通过大约10万个条目在行的基础上在两列中找到这些列表的添加和删除。 它可与以下问题相提并论:Pandas:如何将DataFrame中的列表列与Pandas(不是for循环)进行比较? 但我正在研究这些差异,而且Pandas.apply对于许多条目而言,方法似乎并不那么快。这是我当前正在使用的代码。Pandas.apply使用numpy's setdiff1d方法: additions = df.apply(lambda row: np.setdiff1d(row.today, …

1
为什么np.dot不精确?(n维数组)
假设我们采用np.dot两个'float32'2D数组: res = np.dot(a, b) # see CASE 1 print(list(res[0])) # list shows more digits [-0.90448684, -1.1708503, 0.907136, 3.5594249, 1.1374011, -1.3826287] 数字。除了它们可以更改: 案例1:切片a np.random.seed(1) a = np.random.randn(9, 6).astype('float32') b = np.random.randn(6, 6).astype('float32') for i in range(1, len(a)): print(list(np.dot(a[:i], b)[0])) # full shape: (i, 6) [-0.9044868, -1.1708502, 0.90713596, 3.5594249, 1.1374012, -1.3826287] …
15 python  c  arrays  numpy  precision 

6
在numpy中快速找到对称对
from itertools import product import pandas as pd df = pd.DataFrame.from_records(product(range(10), range(10))) df = df.sample(90) df.columns = "c1 c2".split() df = df.sort_values(df.columns.tolist()).reset_index(drop=True) # c1 c2 # 0 0 0 # 1 0 1 # 2 0 2 # 3 0 3 # 4 0 4 # .. .. .. # …
15 python  pandas  numpy 

2
numpy.unique为集列表提供错误的输出
我有一个列表, sets1 = [{1},{2},{1}] 当我使用numpy的在列表中找到唯一元素时unique,我得到 np.unique(sets1) Out[18]: array([{1}, {2}, {1}], dtype=object) 可以看出,结果是错误的,就像{1}在输出中重复的一样。 当我通过使相似元素相邻来更改输入的顺序时,不会发生这种情况。 sets2 = [{1},{1},{2}] np.unique(sets2) Out[21]: array([{1}, {2}], dtype=object) 为什么会发生这种情况?还是我做的方式有问题?
14 python  list  numpy  set 

5
检查一个numpy数组的所有边界是否都为0 [关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 14天前关闭。 检查多维numpy数组的所有面是否都为0的最快方法是什么? 因此,对于一个简单的2D示例,我有: x = np.random.rand(5, 5) assert np.sum(x[0:, 0]) == 0 assert np.sum(x[0, 0:]) == 0 assert np.sum(x[0:, -1]) == 0 assert np.sum(x[-1, 0:]) == 0 虽然这对于正确的2D案例来说是可以的,但是为更大的尺寸编写代码有点乏味,我想知道是否可以使用一些聪明的numpy技巧来使它高效且可维护。
13 python  numpy 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.