小编Pep*_*zza的帖子

大熊猫获得列平均值/平均值

我无法得到大熊猫中一列的平均值或平均值.A有一个数据帧.我在下面尝试的任何事情都没有给出列的平均值weight

>>> allDF 
         ID           birthyear  weight
0        619040       1962       0.1231231
1        600161       1963       0.981742
2      25602033       1963       1.3123124     
3        624870       1987       0.94212
Run Code Online (Sandbox Code Playgroud)

以下返回多个值,而不是一个:

allDF[['weight']].mean(axis=1)
Run Code Online (Sandbox Code Playgroud)

这样做:

allDF.groupby('weight').mean()
Run Code Online (Sandbox Code Playgroud)

python pandas

119
推荐指数
7
解决办法
34万
查看次数

绘制大熊猫timedelta

我有一个pandas数据框,它有两个datetime64列和一个timedelta64列,它们是两列之间的差异.我正在尝试绘制timedelta列的直方图,以显示两个事件之间的时间差异.

但是,只需使用df['time_delta']结果: TypeError: ufunc add cannot use operands with types dtype('<m8[ns]') and dtype('float64')

尝试将timedelta列转换为:float--> df2 = df1['time_delta'].astype(float) 结果: TypeError: cannot astype a timedelta from [timedelta64[ns]] to [float64]

如何创建pandas timedelta数据的直方图?

python matplotlib pandas

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

添加 misfire_grace_time 后 APScheduler 丢失作业

我正在运行一个 BlockingScheduler 进程,它应该运行多个cron作业,但每次都无法运行并显示以下消息:

Run time of job "validation (trigger: cron[hour='3'], next run at: 2016-12-30 03:00:00 CST)" was missed by 0:00:02.549821

我有以下设置:

sched = BlockingScheduler(misfire_grace_time=3600, coalesce=True)
sched.add_jobstore('mongodb', collection='my_jobs')

@sched.scheduled_job('cron', hour=3, id='validation')
def validation():
    rep = Myclass()
    rep.run()

if __name__ == '__main__':
    sched.start()
Run Code Online (Sandbox Code Playgroud)

我认为添加misfire_grace_time可以解决问题,但每项工作仍然无法运行。

python cron apscheduler

10
推荐指数
2
解决办法
4542
查看次数

将AST节点转换为python代码

假设我有以下字符串:

code = """
if 1 == 1 and 2 == 2 and 3 == 3:
    test = 1
"""
Run Code Online (Sandbox Code Playgroud)

以下代码在 AST 中转换该字符串。

ast.parse(code)
Run Code Online (Sandbox Code Playgroud)

然后我有一棵树:

Module(body=[<_ast.If object at 0x100747358>])
  If(test=BoolOp(op=And(), values=[<_ast.Compare object at 0x100747438>, <_ast.Compare object at 0x100747a90>, <_ast.Compare object at 0x100747d68>]), body=[<_ast.Assign object at 0x100747e48>], orelse=[])
Run Code Online (Sandbox Code Playgroud)

我想知道是否有办法将对象at.If转换为字符串if 1 == 1 and 2 == 2 and 3 == 3:

我知道它可以通过遍历子节点来完成,但是那样太复杂了。

python abstract-syntax-tree

8
推荐指数
3
解决办法
2886
查看次数

使用Python中的SimpleCookie管理令牌生存期

已经有令牌正常工作,这是这样设置的:

session_cookie = SimpleCookie()
session_cookie['key'] = any_string_value
session_cookie['key']["Path"] = '/'

headers = []
headers.extend(("set-cookie", morsel.OutputString())
    for morsel
    in session_cookie.values())

start_response(status, headers)
Run Code Online (Sandbox Code Playgroud)

我也能读取令牌并提取我需要的信息:

# Get cookies
cookies = request.get_cookies()
#     Get current token from cookies
token   = cookies['token'].value
Run Code Online (Sandbox Code Playgroud)

现在,设置cookie过期的最佳方法是什么,我知道有两个可能的键:

  1. session_cookie ['key'] ['max-age'] ="以秒为单位的时间"
  2. session_cookie ['key'] ['expiration'] ="将来的某个日期"

我怎么知道令牌是否过期或者什么是管理过期令牌的最佳方式?

非常感谢!

python cookies wsgi

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

提取搜索词周围的单词

我有这个脚本在文本中进行单词搜索.搜索结果非常好,结果按预期工作.我想要实现的是提取n接近匹配的单词.例如:

世界是一个小地方,我们应该尽力照顾它.

假设我正在寻找place,我需要提取右边的3个单词和左边的3个单词.在这种情况下,他们将是:

left -> [is, a, small]
right -> [we, should, try]
Run Code Online (Sandbox Code Playgroud)

这样做的最佳方法是什么?

谢谢!

python regex text-processing find

7
推荐指数
3
解决办法
7202
查看次数

SQLAlchemy 批量创建如果不存在

我试图通过减少对数据库的调用来优化我的代码。我有以下型号:

class PageCategory(Base):    
    category_id = Column(Text, ForeignKey('category.category_id'), primary_key=True)
    page_id = Column(Text, ForeignKey('page.page_id'), primary_key=True)


class Category(Base):
    category_id = Column(Text, primary_key=True)
    name = Column(Text, nullable=False)
    pages = relationship('Page', secondary='page_category')


class Page(Base):
    page_id = Column(Text, primary_key=True)
    name = Column(Text, nullable=False)
    categories = relationship('Category', secondary='page_category')
Run Code Online (Sandbox Code Playgroud)

该代码接收 Facebook 点赞流,每个点赞都带有一个PageaCategory以及它们之间的明显关系 a PageCategory。我需要找到一种方法来批量创建(如果尚不存在)不同的页面、类别以及它们之间的关系。鉴于代码需要很快,我无法在创建每个对象时来回访问数据库。

page = Page(page_id='1', name='1')
category = Category(category_id='2', name='2')
session.add(page)
session.add(category)
session.commit()
...same for PageCategory
Run Code Online (Sandbox Code Playgroud)

现在,鉴于 apage_idcategory_idPK,IntegrityError如果我们尝试插入重复项,数据库将引发 a ,但这仍然是往返舞蹈。我需要一个实用程序来接收,比如一个对象列表,session.bulk_save_objects([page1, page2, category1, category2, page_category1, …

python sqlalchemy bulk

7
推荐指数
0
解决办法
412
查看次数

Django与Gunicorn有不同的部署方式

我一直在阅读有关使用gunicorn部署Django的内容,我想尝试一下.

我找到了至少3种使用gunicorn和django运行服务器的方法:

  1. gunicorn [OPTIONS] [APP_MODULE] # tested locally and worked fine
  2. python managy.py run_gunicorn # also works fine locally
  3. gunicorn_django [OPTIONS] [SETTINGS_PATH] # I have an error due to apps/ location

我目前正在制作带有nginx(服务静态文件)的Apache,工作正常,但是很慢,想要尝试Gunicorn.前两个选项在本地工作正常,nginx提供静态文件.

如果事情我想知道一对:

  1. 上面的任何选项有什么区别?
  2. PRODUCTION环境中运行的正确指令是什么?

感谢你们.

python django nginx gunicorn

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

使用SqlAlchemy插入MySQL时间戳列值

我有一个sqlalchemy类映射到MySQL innoDB中的数据库表.该表有几列,我可以成功填充所有列,除了TIMESTAMP列:

映射:

class HarvestSources(Base):
    __table__ = Table('harvested', metadata, autoload=True)
Run Code Online (Sandbox Code Playgroud)

MySQL上的列是一个TIMESTAMP,其CURRENT_TIMESTAMP是默认值,但是当我插入一行时,它被填充为NULL.

如果默认不起作用,那么我需要手动设置时间戳,我怎么能做其中任何一个.

用于向表中插入行的SqlAlchemy代码:

source = HarvestSources()
source.url = url
source.raw_data = data
source.date = ?

DB.session.add(source)
DB.session.commit()
Run Code Online (Sandbox Code Playgroud)

python mysql timestamp sqlalchemy

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

Django-haystack搜索#hashtag

我真的有干草堆的经验,但我们使用django-haystack进行搜索.目前搜索工作正常,但我刚刚将#hashtags添加到网站,我希望搜索工作以某种方式与hashtagged单词不同.

我现在拥有的:

  • 搜索"pizza"和"#pizza"的结果是相同的,我认为这是因为"#"在搜索中被省略为字符.

我想要完成的事情:

  • 搜索"#pizza"的结果应仅包含文本"#pizza".

希望有人能帮助我

python django solr django-haystack hashtag

5
推荐指数
1
解决办法
387
查看次数