嗨,我一直在为这个早上的大部分时间而苦苦挣扎,希望有人能指出我正确的方向.
这是我目前的代码:
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)
任何帮助将非常感激.
我有点麻烦,也许有人可以指引我朝着正确的方向前进.
假设我有一个如下所示的数据框(实际数据集有更多的条目和标识):
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并且转置无济于事,任何提示都会非常感激.
我觉得必须快速解决我的问题,我使用多个列表推导法破解了一个实施不当的解决方案,这种方法并不理想.也许有人可以在这里帮忙.
我有一组值是字符串(例如3.2B,1.5M,1.1T),其中最后一个字符自然表示百万,十亿,万亿.在集合中还有NaN /'none'值,这些值应保持不变.我希望将它们转换为浮点数或整数,因此在给定的示例中(3200000000,1500000,1100000000000)
TIA
我有一个关于如何在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中解释这个行为吗?为什么它返回True而不是抛出异常?谢谢
In [1]: 1 < [1, 2, 3]
Out[1]: True
Run Code Online (Sandbox Code Playgroud)