小编den*_*nis的帖子

Matplotlib subplots_adjust hspace所以标题和xlabels不重叠?

比方说,matplotlib xlabels中有3行子图,其中一行可以与下一行的标题重叠.一个人必须摆弄pl.subplots_adjust(hspace),这很烦人.

是否有一个配方hspace可以防止重叠并适用于任何nrow?

""" matplotlib xlabels overlap titles ? """
import sys
import numpy as np
import pylab as pl

nrow = 3
hspace = .4  # of plot height, titles and xlabels both fall within this ??
exec "\n".join( sys.argv[1:] )  # nrow= ...

y = np.arange(10)
pl.subplots_adjust( hspace=hspace )

for jrow in range( 1, nrow+1 ):
    pl.subplot( nrow, 1, jrow )
    pl.plot( y**jrow )
    pl.title( 5 * ("title %d " % jrow) ) …
Run Code Online (Sandbox Code Playgroud)

python matplotlib

45
推荐指数
3
解决办法
8万
查看次数

Python何时为相同的字符串分配新内存?

两个具有相同字符的Python字符串,a == b,可以共享内存,id(a)== id(b),或者可以在内存中两次,id(a)!= id(b).尝试

ab = "ab"
print id( ab ), id( "a"+"b" )
Run Code Online (Sandbox Code Playgroud)

在这里,Python认识到新创建的"a"+"b"与已经在内存中的"ab"相同 - 不错.

现在考虑一个N长的州名列表["亚利桑那州","阿拉斯加州","阿拉斯加州","加利福尼亚州......"(在我的案例中为N~500000).
我看到50个不同的id()s⇒每个字符串"Arizona"......只存储一次,很好.
但是将列表写入磁盘并再次读回:"相同"列表现在有N个不同的id()s,内存更多,见下文.

怎么 - 任何人都可以解释Python字符串内存分配?

""" when does Python allocate new memory for identical strings ?
    ab = "ab"
    print id( ab ), id( "a"+"b" )  # same !
    list of N names from 50 states: 50 ids, mem ~ 4N + 50S, each string once
    but list > file > mem again: N ids, mem ~ N * (4 + …
Run Code Online (Sandbox Code Playgroud)

python memory memory-management

39
推荐指数
3
解决办法
7324
查看次数

pip search 和 pip install 出现错误

嗨,大约两天后我收到此错误:

错误:XMLRPC 请求失败 [代码:-32500] 运行时错误:由于无法管理的负载,PyPI 的 XMLRPC API 目前被禁用,将在不久的将来弃用。有关更多信息,请参阅https://status.python.org/

我从一些人问,搜查了很多,但我din't kbow是什么问题以及如何解决它我tryed apt update,并python3 pip install --upgrade pip通过PIP本身我在使用Android的PIP Termux是工作了一段日前建议...

pip python-3.x

34
推荐指数
3
解决办法
2万
查看次数

Numpy与直蟒不同的地方?

伙计们,

是否存在Numpy与python不同的陷阱集合,这些点令人困惑且花费时间?

"那一刻我永远不会忘记的恐怖!"
"不过,你会这样说的,"女王说,"如果你不做备忘录的话."

例如,NaN在任何地方总是麻烦.如果您可以在不运行的情况下解释这一点,请给自己一点 -

from numpy import array, NaN, isnan

pynan = float("nan")
print pynan is pynan, pynan is NaN, NaN is NaN
a = (0, pynan)
print a, a[1] is pynan, any([aa is pynan for aa in a])

a = array(( 0, NaN ))
print a, a[1] is NaN, isnan( a[1] )
Run Code Online (Sandbox Code Playgroud)

(我不是那么笨拙,在那里做了很多好工作,只是认为常见问题解答或问题的维基会很有用.)

编辑:我希望收集六个陷阱(人们学习Numpy的惊喜).
然后,如果有共同的问题或更好的常见解释,我们可以谈谈将它们添加到社区Wiki(在哪里?)看起来我们到目前为止还不够.

python numpy

27
推荐指数
8
解决办法
1万
查看次数

`pip install -e`的用例是什么?

当我需要处理我的一个宠物项目时,我只是像往常一样克隆存储库(git clone <url>),编辑我需要的东西,运行测试,更新setup.py版本,提交,推送,构建包并将它们上传到PyPI.

使用有什么好处pip install -e?我应该使用它吗?它将如何改善我的工作流程?

如果这有帮助,这是我目前打包并发送给PyPI的两个宠物项目,但从未使用过pip install -e.一个是纯Python,另一个是Django包.

如何通过使用来改善项目的工作流程或结构pip install -e

python packaging pip

27
推荐指数
4
解决办法
9553
查看次数

列出python包依赖项而不加载它们?

假设python包A需要B,C和D; 有没有办法列出A→BCD而不加载它们?
Requires在metadata(yolk -M A)中经常是不完整的,grr.
可以下载A.tar/A.egg,然后查看A/setup.py,但其中一些非常血腥.

(我认为至少可以获得一级依赖关系;即使是98%的解决方案也会比雪崩下载更好.)

一个相关的问题: pip-upgrade-package-without-upgra-dependencies

python dependencies packaging

22
推荐指数
3
解决办法
2万
查看次数

Python深入了解内容列表?

sys.getsizeof( 10000*[x] ) 无论x:0,"a",1000*"a",{},我感到惊讶的是40036.
有没有deep_getsizeof 正确考虑共享内存的元素?
(问题来自查看内存数据库表,如范围(1000000) - >省名:列表或字典?)
(Python是2.6.4的mac ppc.)

补充:10000*["密西西比"]是指向一个"密西西比"的10000个指针,正如几个人所指出的那样.试试这个:

nstates = [AlabamatoWyoming() for j in xrange(N)]
Run Code Online (Sandbox Code Playgroud)

其中AlabamatoWyoming() - >一个字符串"Alabama".."怀俄明州".什么是deep_getsizeof(nstates)?
(我们怎么说?

  • 一个适当的deep_getsizeof:困难,~gc示踪剂
  • 从总vm估算
  • 内部知识的python实现
  • 猜测.

添加25jan:另请参阅when-does-python-allocate-new-memory-for-identical-strings

python memory

19
推荐指数
4
解决办法
5730
查看次数

网格数据的快速插值

我有一个大的3d np.ndarray数据,表示以常规网格方式在卷上采样的物理变量(如数组[0,0,0]中的值表示物理坐标系中的值(0,0,0) )).

我想通过在粗网格中插入数据来获得更精细的网格间距.目前我正在使用scipy griddata线性插值,但它很慢(对于20x20x20阵列,约为90秒).为了我的目的,它有点过度设计,允许随机采样体积数据.有什么东西可以利用我的常规间隔数据,以及我想插入的只有一组有限的特定点吗?

python interpolation numpy scipy

19
推荐指数
2
解决办法
2万
查看次数

为什么"numpy.asarray(...)中的无"会导致未来的警告

当您执行以下操作时,会发生未来警告:

>>> numpy.asarray([1,2,3,None]) == None
Run Code Online (Sandbox Code Playgroud)

目前返回False,但据我所知,将返回包含[False,False,False,True]在Numpy的未来版本中的数组.

正如在numpy讨论列表中所讨论的,解决这个问题的方法是测试a is None.

令我困惑的是,in与列表相比,具有1D数组的关键字的这种行为:

>>> None in [1,2,3,None]
True
>>> None in numpy.asarray([1,2,3,None])
__main__:1: FutureWarning: comparison to 'None' will result in an elementwise 
    object comparison in the future
False
>>> 1 in numpy.asarray([1,2,3,None])
True
Run Code Online (Sandbox Code Playgroud)

编辑(见评论) - 真的有两个不同的问题:

  1. 为什么这会导致FutureWarning- 将未来的行为None in numpy.asarray(...)与现在的行为进行比较?
  2. 为什么行为的差异in来自于list; 我可以测试我的数组是否包含None而不将其转换为列表或使用for循环?

Numpy版本是1.9.1,Python 3.4.1

python numpy nan

13
推荐指数
1
解决办法
6403
查看次数

填补numpy数组中的空白

我只想用最简单的术语插入3D数据集.线性插值,最近邻,所有这些就足够了(这是从一些算法开始,所以不需要准确的估计).

在新的scipy版本中,像griddata这样的东西会很有用,但是目前我只有scipy 0.8.所以我有一个"立方体"(data[:,:,:],(NixNjxNk))数组,以及一个相同大小的标志(flags[:,:,:,],TrueFalse)数组.我想插入数据元素的数据,其中flag的对应元素为False,例如使用数据中最近的有效数据点,或者"close by"点的某种线性组合.

数据集中至少有两个维度可能存在较大的间隙.除了使用kdtrees或类似编码完整的最近邻算法之外,我无法真正找到通用的N维最近邻插值器.

python interpolation numpy matplotlib scipy

12
推荐指数
2
解决办法
6767
查看次数