信不信由你,在分析我当前的代码之后,numpy数组reversion的重复操作占用了运行时间的一大块.我现在拥有的是基于视图的常见方法:
reversed_arr = arr[::-1]
Run Code Online (Sandbox Code Playgroud)
有没有其他方法可以更有效地做到这一点,还是仅仅因为我对不切实际的numpy表现的痴迷而产生的错觉?
PIL的新手,但希望得到一个快速的解决方案.以下是我的第一个从未奏效的镜头:
import cStringIO
import pylab
from PIL import Image
pylab.figure()
pylab.plot([1,2])
pylab.title("test")
buffer = cStringIO.StringIO()
pylab.savefig(buffer, format='png')
im = Image.open(buffer.read())
buffer.close()
Run Code Online (Sandbox Code Playgroud)
错误说,
Traceback (most recent call last):
File "try.py", line 10, in <module>
im = Image.open(buffer.read())
File "/awesomepath/python2.7/site-packages/PIL/Image.py", line 1952, in open
fp = __builtin__.open(fp, "rb")
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?我不希望解决方案涉及额外的包,谢谢.
假设我有下面的文本,光标停留在第一个A
,
AAAA
BBB
CC
D
Run Code Online (Sandbox Code Playgroud)
如何在每条线的前面添加空格以使其成为可能,如果可以即时指定空格列数,那将是很好的,例如,这里有两个.
AAAA
BBB
CC
D
Run Code Online (Sandbox Code Playgroud)
我想有一种方法可以在视觉模式下快速完成,但任何想法?
目前我正在以可视模式复制第一列文本两次,并将整个两列替换为空格,这涉及> 5次击键,太麻烦了.
约束:
很抱歉,我没有明确说明问题,可能会产生一些混淆.
目标只是较大文件的一部分,因此如果A
可以指定从第一个开始的行数和列数,则会很好.
编辑:
感谢@DeepYellow和@Johnsyweb,显然>}
并且>ap
都是我不知道的很好的提示,在我澄清我的问题的答案的具体要求之前它们都可以是有效的答案,但无论如何,@ luser droog答案是唯一可行的答案.谢谢大家!
我有一个小的NXN阵列"块",我想插入一个大阵列"墙"的指定区域(即"开始"的对角线区域).有一种有效的方法来存档吗?
wall[start:start+N][start:start+N] = block[:][:]
Run Code Online (Sandbox Code Playgroud)
目前我正在做的只是:
for i in xrange(N):
wall[start+i][start:start+N] = block[i][:]
Run Code Online (Sandbox Code Playgroud) 我想使用matplotlib或多或少地绘制我下面附着的图形,其中包括两个相交的平面,其中正确的透明度表示它们的相对方向,以及两个平面中的圆和矢量以2D投影.
我不确定是否有现成的包,这样做,任何提示?
例如,如果python脚本将吐出一个字符串,该字符串给出了我将在运行脚本后立即编辑的新编写文件的路径,那么将它直接发送到系统剪贴板而不是STDOUT
.
我有第一个文件包含像
.. figure:: examples/foo.png
:scale: 80%
Fig. 1 : Illustration of the awesomeness of stackoverflow
Run Code Online (Sandbox Code Playgroud)
现在我希望将此文件转换为markdown.我试过用pandoc
,
pandoc -s -w rst --toc foo.rst -o foo.md
Run Code Online (Sandbox Code Playgroud)
但输出文件foo.md
似乎忽略了图形包含线.那么,如何在不失去数字真棒的情况下转换为markdown文件呢?谢谢
我在python脚本中导入mayavi来显示一些3D数据集,事实证明以下天真轴标签不起作用
from mayavi import mlab
axes =mlab.axes(xlabel='$\alpha$', ylabel='$\beta$', zlabel='$\sigma$')
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?我无法从谷歌或用户手册中找到解决方案.
我只是使用F2PY将Fortran 90子程序包装到python中.这里的细微之处在于Fortran子例程aslo将python回调函数作为其参数之一:
SUBROUTINE f90foo(pyfunc, a)
real(kind=8),intent(in) :: a
!f2py intent(callback) pyfunc
external pyfunc
!f2py real*8 y,x
!f2py y = pyfunc(x)
!*** debug begins***
print *, 'Start Loop'
do i=1,1000
p = pyfunc(a)
end do
total = etime(elapsed)
print *, 'End: total=', total, ' user=', elapsed(1), ' system=', elapsed(2)
stop
!*** debug ends ***
Run Code Online (Sandbox Code Playgroud)
这pyfunc
是我的python代码中其他地方定义的python函数.包装工作正常,但运行上面的包装版本,我得到的时间大约是我使用纯python的5倍,如下所示,
def pythonfoo(k):
""" k: scalar
returns: scalar
"""
print('Pure Python: Start Loop')
start = time.time()
for i in xrange(1000):
p = pyfunc(k)
elapsed = …
Run Code Online (Sandbox Code Playgroud)