小编Mic*_*ael的帖子

压缩内存中的Python对象

大多数关于在Python中压缩文件的教程都涉及立即将该文件写入磁盘而没有插入压缩的python对象.我想知道如何在内存中腌制然后压缩python对象,而无需写入或读取磁盘.

python compression

11
推荐指数
3
解决办法
7049
查看次数

Pandas Dataframe AttributeError:'DataFrame'对象没有属性'design_info'

我正在尝试使用OLS实现的predict()功能statsmodels.formula.api.当我将新数据帧传递给函数以获取样本外数据集的预测值时,result.predict(newdf)返回以下错误:'DataFrame' object has no attribute 'design_info'.这是什么意思,我该如何解决?完整的追溯是:

    p = result.predict(newdf)
  File "C:\Python27\lib\site-packages\statsmodels\base\model.py", line 878, in predict
    exog = dmatrix(self.model.data.orig_exog.design_info.builder,
  File "C:\Python27\lib\site-packages\pandas\core\frame.py", line 2088, in __getattr__
    (type(self).__name__, name))
AttributeError: 'DataFrame' object has no attribute 'design_info'
Run Code Online (Sandbox Code Playgroud)

编辑:这是一个可重复的例子.当我挑选然后取消选择结果对象(我需要在实际项目中执行)时,会出现错误:

import cPickle
import pandas as pd
import numpy as np
import statsmodels.formula.api as sm

df = pd.DataFrame({"A": [10,20,30,324,2353], "B": [20, 30, 10, 1, 2332], "C": [0, -30, 120, 11, 2]})

result = sm.ols(formula="A ~ B + C", …
Run Code Online (Sandbox Code Playgroud)

python pickle scipy pandas statsmodels

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

为什么python多处理pickle对象在进程之间传递对象?

为什么multiprocessingpython pickle对象的包在进程之间传递它们,即将不同进程的结果返回给主解释器进程?这可能是一个非常天真的问题,但是为什么不能处理A说出处理B"对象x在内存中的点y,它现在是你的"而不必执行将对象表示为字符串所必需的操作.

python pickle multiprocessing

9
推荐指数
1
解决办法
3086
查看次数

安装和使用pip,"SyntaxError:invalid syntax"

我按照这些说明在Windows 7上安装pip.当我尝试使用pip install httpie(或任何其他软件包)安装示例软件包时,它会给我以下错误:

SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

它还突出了安装一词.就是这样.我正在使用Python 3.3.1并在上面链接的说明中使用了相应的安装程序.最后,如果您认为这是重复的,我道歉,但Stack Overflow将不允许我在原始帖子中发布答案,并且我收到他们不讨论的错误消息.

python pip

8
推荐指数
2
解决办法
2万
查看次数

在Sqlalchemy Query中忽略MYSQL数据库中的锁定

使用SQLAlchemy查询MySQL数据库我收到以下错误:

sqlalchemy.exc.OperationalError: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (_mysql_exceptions.OperationalError) (1205, 'Lock wait timeout exceeded; try restarting transaction')

首先,我假设错误消息注释"考虑使用session.no_autoflush块,如果这个刷新过早发生"是关于放置锁的另一个会话,而不是我用于当前查询的会话?如果我遵循这个建议,这有助于避免一般的数据库锁定?其次,我只需要阅读并且不需要对查询结果进行修改,所以我想知道如何忽略锁并只读取当前数据库中的内容.我相信sql是NOWAIT,但我不知道如何在sqlalchemy API中这样做.

python mysql session locking sqlalchemy

8
推荐指数
1
解决办法
1479
查看次数

Python多处理> = 125列表永远不会完成

我正在尝试为我自己的目的实现这个多处理教程.起初我认为它不能很好地扩展,但是当我做了一个可重复的例子时,我发现如果项目列表超过124,它似乎永远不会返回答案.在x = 124它运行.4秒,但当我设置x = 125它永远不会完成.我在Windows 7上运行Python 2.7.

from multiprocessing import Lock, Process, Queue, current_process
import time

class Testclass(object):
    def __init__(self, x):
        self.x = x

def toyfunction(testclass):
    testclass.product = testclass.x * testclass.x
    return testclass


def worker(work_queue, done_queue):
    try:
        for testclass in iter(work_queue.get, 'STOP'):
            print(testclass.counter)
            newtestclass = toyfunction(testclass)
            done_queue.put(newtestclass)

    except:
        print('error')

    return True

def main(x):

    counter = 1

    database = []
    while counter <= x:
        database.append(Testclass(10))
        counter += 1
        print(counter)



    workers = 8
    work_queue = Queue() …
Run Code Online (Sandbox Code Playgroud)

python multiprocessing

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

在pandas数据框中选择唯一的观察结果

我有一个pandas带有列的数据框uniqueid.我想基于此列从数据框中删除所有重复项,以便所有剩余的观察结果都是唯一的.

python pandas

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

替换循环内的Pandas数据框中的值

我试图循环一个pandas数据框并替换某些列中的值,如果它们满足某些条件.我发现通常有更简单的方法可以做到这一点,但在我的具体示例中,我需要一个循环,因为一行的结果可能取决于前一行.以下是出现问题的可重复示例.当我尝试替换文本时,它不会替换它.

import pandas as pd
df = pd.DataFrame({"A": ["I", "AM", "NOT", "WORKING", "!"], "B": [20, 30, 10, 40, 50], "C": [32, 234, 23, 23, 42523]})


for index, row in df.iterrows():
    row['A'] = "I am working!"

print(df)
Run Code Online (Sandbox Code Playgroud)

哪个印刷品:

         A   B      C
0        I  20     32
1       AM  30    234
2      NOT  10     23
3  WORKING  40     23
4        !  50  42523
Run Code Online (Sandbox Code Playgroud)

python pandas

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

BeautifulSoup对象不会腌制,导致解释器无声崩溃

我有汤,BeautifulSoup因为我不能泡菜.当我尝试pickle对象时,python解释器静默崩溃(这样它就不能作为例外处理).我必须能够pickle对象,以便使用multiprocessing包返回对象(pickles对象在进程之间传递它们).我该如何解决/解决问题?不幸的是,我无法发布该页面的html(它不公开),我一直无法找到问题的可重现的例子.我试图通过循环汤和酸洗单个组件来隔离问题,产生错误的最小的东西是<class 'BeautifulSoup.NavigableString'>.当我打印对象时,它打印出来u'\n'.

python beautifulsoup pickle

7
推荐指数
2
解决办法
1928
查看次数

UnicodeDecodeError使用sqlalchemy加载

我用sqlalchemy查询MySQL数据库并收到以下错误:

UnicodeDecodeError: 'utf8' codec can't decode bytes in position 498-499: unexpected end of data
Run Code Online (Sandbox Code Playgroud)

表中的列被定义为,Unicode(500)因此此错误向我建议有一个被截断的条目,因为它超过500个字符.有没有办法处理此错误仍然加载条目?有没有办法找到错误的条目并删除它除了尝试逐个(或批量)加载每个条目,直到我收到错误?

python mysql unicode sqlalchemy utf-8

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