我zip用来存档很多文件.我有一些文件很小(它们只包含一行存储的一个十进制数).在对这些文件进行操作后,zip报告stored 0%.不deflated 0%,但是stored 0%.我想知道这是否意味着我后续的zip存档不会存储这些文件.如果是这样,有什么方法可以解决它,所以zip会存储它们吗?是因为文件太小了吗?
我正在尝试使用Python集成一个函数scipy.integrate.quad.这个特殊的函数有两个参数.我想要整合一个论点.一个例子如下所示.
from scipy import integrate as integrate
def f(x,a): #a is a parameter, x is the variable I want to integrate over
return a*x
result = integrate.quad(f,0,1)
Run Code Online (Sandbox Code Playgroud)
这个例子不起作用(你可能很清楚),因为Python在我尝试时提醒我:
TypeError: f() takes exactly 2 arguments (1 given)
Run Code Online (Sandbox Code Playgroud)
我想知道integrate.quad()当给定的函数通常是多变量函数时,如何使用集成在单个变量意义中,额外的变量为函数提供参数.
我在网上看到很多使用flushFortran中的函数来刷新输出.我想知道,特别是对于Fortran 90,特别是对于stdout,这应该采用什么形式作为单行代码放入我的代码?
我的猜测是flush(*).
我有一系列的线(目前总共60个),我想绘制到相同的数字,以显示某个过程的时间演变.绘制当前行,使最早的时间步长绘制为100%红色,最新时间步长绘制为100%蓝色,中间的时间步长是红色和蓝色的混合,基于它们的时间(红色的量随着时间的增加而线性减少,而蓝色的量随着时间的增加而线性增加;简单的颜色梯度).我想制作一种(最好是垂直的)某种颜色条,以连续的方式显示它.我的意思是我想要一个底部为红色,顶部为蓝色,条形中间有红色和蓝色混合的颜色条,以与线条相同的方式从红色平滑过渡到蓝色我情节.我还想在这个颜色条上放置轴,以便我可以显示哪个颜色对应于哪个时间步.
我已经阅读了文档,matplotlib.pyplot.colorbar()但是如果不使用matplotlib之前定义的颜色映射,我无法弄清楚如何做我想做的事情.我的猜测是,我需要定义我自己的从红色到蓝色matplotlib.pyplot.colorbar()的色彩映射,然后将它提供给我想要的颜色条是相对简单的.
这是我用来绘制线条的代码示例:
import numpy as np
from matplotlib import pyplot as pp
x= ##x-axis values for plotting
##start_time is the time of the earliest timestep I want to plot, type int
##end_time is the time of the latest timestep I want to plot, type int
for j in range(start_time,end_time+1):
##Code to read data in from time step number j
y = ##the data I want to plot
red = 1. - (float(j)-float(start_time))/(float(end_time)-float(start_time))
blue = (float(j)-float(start_time))/(float(end_time)-float(start_time)) …Run Code Online (Sandbox Code Playgroud) 在Python中,我试图将浮点数转换为字符串,使得字符串正好是12个字符长:第一个字符是空格,其余字符可以填充数字(如果需要,还有小数点)要转换为字符串.此外,数字需要以十进制形式表示(无科学记数法).我在特定文件中使用固定格式; 因此确切的参数如上所述.可以假设我正在使用的所有数字都小于1e12,即所有数字都可以用
我在用
s = " %11f" % number
Run Code Online (Sandbox Code Playgroud)
大多数浮点数转换为符合我的格式参数的字符串就好了; 然而,一些较大的数字却没有.例如,
print " %11f" % 325918.166005444
Run Code Online (Sandbox Code Playgroud)
给325918.166005.这需要13个字符,而不是11个字符.
为什么我的代码会这样做,我该如何解决这个问题呢?我想尽可能保持精确度(即,简单地截断数字的小数部分不是一个足够好的解决方案).
如果Python版本很重要,我使用的是2.7.
我正在使用callgrind. 这是我第一次这样做。我发现最高级别的函数(我认为是负责启动程序运行的函数)被称为_dyld_start. 我想知道这到底是什么。
另外,在我的一些需要很长时间运行的程序上,我的main()函数占用了 ; 调用的所有函数的大约 99% 的时间_dyld_start;然而,在我的程序中,运行时间较短(大约半秒),我发现main()只花费了大约 85% 的_dyld_start时间,其余的时间都会dyldbootstrap::start()。我假设这是一个与启动 C++ 程序相关的函数。它占用 85% 的_dyld_start运行时间是否合理?
我正在使用 C++11 标准编译我的代码。我正在我的 OS/X 上编译,所以我使用clang. 我的valgrind版本是3.10.0。
给定一个整数向量,我想实现我所谓的“环绕排序”。基本上,给定一个任意值,所有大于或等于该值的值首先按升序列出,然后是所有小于该任意值的值,再次按升序列出。对于 12 的值,环绕排序数组将如下所示:
[13, 15, 18, 29, 32, 1, 3, 4, 8, 9, 11]
Run Code Online (Sandbox Code Playgroud)
实现这种排序的方法是什么?我可以假设一个向量作为起点,该向量已经按升序排序而没有环绕特征,因为如果这样的假设有用的话,很容易达到该状态。
我正在尝试在使用matplotlib.pyplot. 但是,希望这个额外的空白只出现在图例中的两个条目之间,而其余条目保持不变。我有一个 MWE 和它生成的图像,经过编辑以显示我想要额外空白的位置。
import matplotlib.pyplot as plt
plt.plot([0,1],[.2,.2],label = "A")
plt.plot([0,1],[.4,.4],label = "B")
plt.plot([0,1],[.6,.6],label = "C")
plt.plot([0,1],[.8,.8],label = "D")
plt.legend(loc='upper right',labelspacing=.3)
plt.ylim(0,1)
plt.show()
Run Code Online (Sandbox Code Playgroud)
我有一个NxN数组,我正在使用Python绘图matplotlib.pyplot.imshow().N将非常大,我希望我的最终图像具有匹配的分辨率.但是,在随后的代码中,图像分辨率似乎没有随着N的增加而改变.我认为imshow()(至少我如何使用它)具有固定的最小像素大小,该大小比显示具有全分辨率的NxN阵列所需的大.
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import cm
array = np.loadtxt("output.dat",unpack=True)
plt.figsize=(30.0, 30.0)
im = plt.imshow(array,cmap='hot')
plt.colorbar(im)
plt.savefig("mandelbrot.pdf")
Run Code Online (Sandbox Code Playgroud)
正如你在上面的代码中看到的那样,我已经尝试过试图plt.figsize增加分辨率,但无济于事.我也尝试了各种输出格式(.pdf,.ps,.eps,.png),但这些都生成了比我想要的分辨率更低的图像..ps,.eps和.pdf图像看起来完全相同.
首先,我的问题是否存在imshow()或是否需要更改我的代码的其他方面以产生更高分辨率的图像?
其次,如何生成更高分辨率的图像?
与此问题类似,我想从2-D numpy数组中删除一些NAN.但是,我没有删除具有NAN的整行,而是想从数组的每一行中删除相应的元素.例如(为简单起见使用列表格式)
x=[ [1,2,3,4],
[2,4,nan,8],
[3,6,9,0] ]
Run Code Online (Sandbox Code Playgroud)
会成为
x=[ [1,2,4],
[2,4,8],
[3,6,0] ]
Run Code Online (Sandbox Code Playgroud)
我可以想象使用一个numpy.where来确定每一行中出现NAN的位置,然后使用一些循环和逻辑语句从旧数组中创建一个新数组(跳过NAN和其他行中的相应元素)但对我来说似乎不是一个非常简化的做事方式.还有其他想法吗?