小编ast*_*st4的帖子

将接受类成员函数作为变量的函数传递给python multiprocess pool.map()

嗨,我一直在为这个早上的大部分时间而苦苦挣扎,希望有人能指出我正确的方向.

这是我目前的代码:

def f(tup):
    return some_complex_function(*tup)

def main():

    pool = Pool(processes=4) 
    #import and process data omitted 
    _args = [(x.some_func1, .05, x.some_func2) for x in list_of_some_class]
    results = pool.map(f, _args)
    print results
Run Code Online (Sandbox Code Playgroud)

我得到的第一个错误是:

> Exception in thread Thread-2: Traceback (most recent call last):  
> File "/usr/lib/python2.7/threading.py", line 551, in __bootstrap_inner
>     self.run()   File "/usr/lib/python2.7/threading.py", line 504, in run
>     self.__target(*self.__args, **self.__kwargs)   File "/usr/lib/python2.7/multiprocessing/pool.py", line 319, in
> _handle_tasks
>     put(task) PicklingError: Can't pickle <type 'instancemethod'>: attribute lookup __builtin__.instancemethod failed
Run Code Online (Sandbox Code Playgroud)

任何帮助将非常感激.

python multiprocessing

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

转换Pandas数据帧

我有点麻烦,也许有人可以指引我朝着正确的方向前进.

假设我有一个如下所示的数据框(实际数据集有更多的条目和标识):

                         open ident
2011-01-01 00:00:00 -1.252090   df1
2011-01-01 01:00:00 -1.427444   df1
2011-01-01 02:00:00 -0.415251   df1
2011-01-01 03:00:00 -0.797411   df1
2011-01-01 04:00:00 -0.515046   df1
2011-01-01 00:00:00  1.107162   df2
2011-01-01 01:00:00  0.073243   df2
2011-01-01 02:00:00  0.224991   df2
2011-01-01 03:00:00 -1.269277   df2
2011-01-01 04:00:00  0.468960   df2
Run Code Online (Sandbox Code Playgroud)

有没有快速的方法来重新格式化数据框看起来像这样?

                         df1        df2
2011-01-01 00:00:00 -1.252090   1.107162   
2011-01-01 01:00:00 -1.427444   0.073243
2011-01-01 02:00:00 -0.415251   0.224991
2011-01-01 03:00:00 -0.797411  -1.269277
2011-01-01 04:00:00 -0.515046   0.468960
Run Code Online (Sandbox Code Playgroud)

我玩过groupby并且转置无济于事,任何提示都会非常感激.

python pandas

6
推荐指数
1
解决办法
5039
查看次数

在pandas数据帧中将数字和字母串转换为int/float

我觉得必须快速解决我的问题,我使用多个列表推导法破解了一个实施不当的解决方案,这种方法并不理想.也许有人可以在这里帮忙.

我有一组值是字符串(例如3.2B,1.5M,1.1T),其中最后一个字符自然表示百万,十亿,万亿.在集合中还有NaN /'none'值,这些值应保持不变.我希望将它们转换为浮点数或整数,因此在给定的示例中(3200000000,1500000,1100000000000)

TIA

python pandas

6
推荐指数
1
解决办法
2342
查看次数

Pandas read_hdf按日期和时间范围查询

我有一个关于如何在pd.read_hdf函数中过滤结果的问题.所以这里是设置,我有一个pandas数据帧(带有np.datetime64索引),我把它放入hdf5文件.这里没有任何花哨的东西,所以没有使用层次结构或任何东西(也许我可以合并它?).这是一个例子:

                              Foo          Bar
TIME                                         
2014-07-14 12:02:00            0            0
2014-07-14 12:03:00            0            0
2014-07-14 12:04:00            0            0
2014-07-14 12:05:00            0            0
2014-07-14 12:06:00            0            0
2014-07-15 12:02:00            0            0
2014-07-15 12:03:00            0            0
2014-07-15 12:04:00            0            0
2014-07-15 12:05:00            0            0
2014-07-15 12:06:00            0            0
2014-07-16 12:02:00            0            0
2014-07-16 12:03:00            0            0
2014-07-16 12:04:00            0            0
2014-07-16 12:05:00            0            0
2014-07-16 12:06:00            0            0
Run Code Online (Sandbox Code Playgroud)

现在我使用以下命令将其存储到.h5中:

store = pd.HDFStore('qux.h5')
#generate df
store.append('data', df)
store.close()
Run Code Online (Sandbox Code Playgroud)

接下来,我将有另一个访问此数据的进程,我想获取此数据的日期/时间片.因此,假设我想要在2014-07-14和2014-07-15之间的日期,并且仅在12:02:00和12:04:00之间的时间.目前我使用以下命令来检索此:

pd.read_hdf('qux.h5', 'data', where='index >= 20140714 and …
Run Code Online (Sandbox Code Playgroud)

python hdf5 pandas

3
推荐指数
1
解决办法
4237
查看次数

Python将int,float等与列表进行比较

所以这一直困扰着我,我无法在网上找到任何关于它的信息.有人可以在python中解释这个行为吗?为什么它返回True而不是抛出异常?谢谢

In [1]: 1 < [1, 2, 3]
Out[1]: True
Run Code Online (Sandbox Code Playgroud)

python

2
推荐指数
1
解决办法
629
查看次数

标签 统计

python ×5

pandas ×3

hdf5 ×1

multiprocessing ×1