我试图用大熊猫取消堆叠多索引,我一直在得到:
ValueError: Index contains duplicate entries, cannot reshape
Run Code Online (Sandbox Code Playgroud)
给定一个包含四列的数据集:
我首先设置了一个三级多指标:
In [37]: e.set_index(['id', 'date', 'location'], inplace=True)
In [38]: e
Out[38]:
value
id date location
id1 2014-12-12 loc1 16.86
2014-12-11 loc1 17.18
2014-12-10 loc1 17.03
2014-12-09 loc1 17.28
Run Code Online (Sandbox Code Playgroud)
然后我尝试取消堆叠位置:
In [39]: e.unstack('location')
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-39-bc1e237a0ed7> in <module>()
----> 1 e.unstack('location')
...
C:\Anaconda\envs\sandbox\lib\site-packages\pandas\core\reshape.pyc in _make_selectors(self)
143
144 if mask.sum() < len(self.index):
--> 145 raise ValueError('Index contains duplicate entries, '
146 'cannot reshape')
147 …Run Code Online (Sandbox Code Playgroud) 我一直在试图理解之间的权衡read和seek.对于小的"跳跃",读取不需要的数据比跳过它更快seek.
而定时不同的读/求块大小找到引爆点,我碰到一个奇特的现象:read(1)比慢约20倍read(2),read(3)等等.这种效应对于不同读取方法,例如,相同的read()和readinto().
为什么会这样?
搜索以下第2/3行的时间结果:
2 x buffered 1 byte readinto bytearray
Run Code Online (Sandbox Code Playgroud)
环境:
Python 3.5.2 |Continuum Analytics, Inc.| (default, Jul 5 2016, 11:45:57) [MSC v.1900 32 bit (Intel)]
Run Code Online (Sandbox Code Playgroud)
时间结果:
Non-cachable binary data ingestion (file object blk_size = 8192):
- 2 x buffered 0 byte readinto bytearray:
robust mean: 6.01 µs +/- 377 ns
min: 3.59 µs
- Buffered 0 byte seek followed by 0 byte …Run Code Online (Sandbox Code Playgroud) 我希望启动一个带有分布式源代码控制的项目,并正在评估不同的选项.看着Bazaar,我偶然发现了几篇文章(例如本文),发展速度明显放缓.
项目集市的现状如何?错误得到修复吗?
有没有办法在len()不修改类的情况下使用实例方法?
我的问题的例子:
>>> class A(object):
... pass
...
>>> a = A()
>>> a.__len__ = lambda: 2
>>> a.__len__()
2
>>> len(a)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: object of type 'A' has no len()
Run Code Online (Sandbox Code Playgroud)
注意:
A将__len__附加不同的方法A继续我在评论中回答问题"Gevent pool with nested web requests"的问题:
假设一个人有大量任务,使用gevent.spawn(...)同时生成所有任务是否有任何缺点,而不是使用gevent池和pool.spawn(...)来限制并发数量greenlets?
表达方式不同:即使不是要解决的问题不需要,使用gevent.Pool"限制并发"是否有任何优势?
知道什么会构成这个问题的"大数"吗?
我正在寻找一个OO sqlite C++包装器,它允许类的透明序列化和反序列化.
我想到的工作流程如下:
通过<<和>>对整个类进行简单的序列化和反序列化.
这是现实的还是我必须自己编写运算符?理想情况下,我不想担心数据如何进入数据库以及如何存储...易用性是我主要关注的问题,而不是灵活性或性能.
我正在寻找GAE数据存储区python接口的东西.
非常感谢,Arik
我希望并行化numpy或pandas操作.为此,我一直在研究pydata的火焰.我的理解是无缝的并行化是它的主要卖点.
不幸的是,我无法找到在多个核心上运行的操作.火焰中的并行处理是否可用或目前只是一个既定的目标?难道我做错了什么?我正在使用大火v0.6.5.
我希望并行化的一个函数的示例:( pytables列的重复数据删除太大而不适合内存)
import pandas as pd
import blaze as bz
def f1():
counter = 0
groups = pd.DataFrame(columns=['name'])
t = bz.TableSymbol('t', '{name: string}')
e = bz.distinct(t)
for chunk in store.select('my_names', columns=['name'],
chunksize=1e5):
counter += 1
print('processing chunk %d' % counter)
groups = pd.concat([groups, chunk])
groups = bz.compute(e, groups)
Run Code Online (Sandbox Code Playgroud)
我跟随Phillip的例子有问题:
In [1]: from blaze import Data, compute
In [2]: d = Data('test.bcolz')
In [3]: d.head(5)
Out[3]: <repr(<blaze.expr.collections.Head at 0x7b5e300>) failed: NotImplementedError: Don't know how to compute: …Run Code Online (Sandbox Code Playgroud) 我正在努力初始化线程局部的ndarrays cython.parallel:
伪代码:
cdef:
ndarray buffer
with nogil, parallel():
buffer = np.empty(...)
for i in prange(n):
with gil:
print "Thread %d: data address: 0x%x" % (threadid(), <uintptr_t>buffer.data)
some_func(buffer.data) # use thread-local buffer
cdef void some_func(char * buffer_ptr) nogil:
(... works on buffer contents...)
Run Code Online (Sandbox Code Playgroud)
我的问题是,所有线程都buffer.data指向同一个地址.即最后分配的线程的地址buffer.
尽管buffer在parallel()(或者prange)块中被赋值,但是cython不会创建buffer一个private或线程局部变量,而是将其保存为shared变量.
结果,buffer.data指向相同的内存区域对我的算法造成了严重破坏.
这不仅仅是ndarray对象的问题,而是看似所有已cdef class定义的对象.
我该如何解决这个问题?
AttributeErrors我在@property与 python 结合使用时遇到了一个问题__getattr__():
示例代码:
>>> def deeply_nested_factory_fn():
... a = 2
... return a.invalid_attr
...
>>> class Test(object):
... def __getattr__(self, name):
... if name == 'abc':
... return 'abc'
... raise AttributeError("'Test' object has no attribute '%s'" % name)
... @property
... def my_prop(self):
... return deeply_nested_factory_fn()
...
>>> test = Test()
>>> test.my_prop
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 5, in __getattr__
AttributeError: 'Test' object …Run Code Online (Sandbox Code Playgroud)