小编Ste*_*ray的帖子

使用pandas将新列附加到HDFStore

我正在使用Pandas,并制作一个HDFStore对象.我计算500列数据,并将其写入表格式HDFStore对象.然后我关闭文件,从内存中删除数据,执行下一个500列(用增加的整数标记),打开商店,然后尝试追加新列.但是,它并不喜欢这样.它给了我一个错误

invalid combinate of [non_index_axes] on appending data [[(1, [500, 501, 502, ...])]] vs current table [[(1, [0, 1, 2, ...])]]
Run Code Online (Sandbox Code Playgroud)

我假设它只允许附加更多行而不是列.那么如何添加更多列?

hdf5 pandas hdfstore

7
推荐指数
1
解决办法
2324
查看次数

使用Fortran库的Python多处理

我正在使用Python中的多处理模块将一组作业映射到尽可能多的内核上。我要包装的作业大部分是用一些包装的fortran代码(用f2py包装)执行的。当我仅调用作业时,它们可以使用所有内核正常运行。但是,如果我试图(通过不单独调用Fortran库Pool().map()函数)首先,和然后调用地图,整个程序挂起(如果你想知道,它在threading.py的339线正好挂在其上仅代码是waiter.acquire())。

对于我正在编写的程序,我需要先调用该库,然后再进行映射。我已经通过首先Pool().map()仅使用一个进程来调用它来解决了这个问题,但这是一个hack,我想知道为什么我必须这样做!

更明确地说,这不起作用

def call_camb_transfer(H0): #wraps the call to define the keyword parameter to pass
    return pycamb.transfers(H0=H0)[1][6, :, 0]

b = call_camb_transfer(70)
pool = multiprocessing.Pool(2)
H0 = [60, 70]

results = pool.map(call_camb_transfer, H0)
Run Code Online (Sandbox Code Playgroud)

但是这样做:

def call_camb_transfer(H0): #wraps the call to define the keyword parameter to pass
    return pycamb.transfers(H0=H0)[1][6, :, 0]

initial_pool = multiprocessing.Pool(1)
b = initial_pool.map(call_camb_transfer, [65.0])

pool = multiprocessing.Pool(2)
H0 = [60, 70]

results = pool.map(call_camb_transfer, H0) …
Run Code Online (Sandbox Code Playgroud)

python multiprocessing f2py

5
推荐指数
0
解决办法
224
查看次数

gfortran找不到那里的图书馆

我将程序链接到库时遇到问题.我之前从未这样做过,所以我可能做了一些愚蠢的事情,但据我所知,我做的是正确的事情.我需要将我的程序链接foo.f90到一个库libbar.a,该库位于我的主目录下的其他目录中.我输入命令:

gfortran -c foo.f90
gfortran -o foo foo.f90 -L/directory/of/library -llibbar.a
Run Code Online (Sandbox Code Playgroud)

但这引发:

ld: library not found for -llibhealpix.a
Run Code Online (Sandbox Code Playgroud)

当然libhealpix.a是真正的图书馆(而不是libbar.a)

关于为什么会发生这种情况的任何想法?

fortran gfortran

4
推荐指数
1
解决办法
8738
查看次数

Python/Django - 我可以创建多个类似 pdf 文件的对象,将它们压缩并作为附件发送吗?

我正在使用 Django 创建一个 Web 应用程序,其中输入了一些参数并创建了绘图。我想要一个链接,用于下载 zip 文件中的所有图。为此,我正在编写一个视图,它将创建所有绘图(我已经编写了创建每个单独绘图并显示它们的视图),然后将它们压缩,将 zip 文件保存为响应对象。

我可以这样做的一种方法是创建每个图,将其作为 pdf 文件保存到磁盘,然后最后将它们全部压缩作为响应。但是,如果可能的话,我想避免保存到磁盘?

干杯。

python django

4
推荐指数
1
解决办法
1822
查看次数

标签 统计

python ×2

django ×1

f2py ×1

fortran ×1

gfortran ×1

hdf5 ×1

hdfstore ×1

multiprocessing ×1

pandas ×1