小编Kis*_*han的帖子

计算pandas DataFrame列中的值的频率

我想计算每个值出现在数据帧中的次数.

这是我的数据框 - df:

    status
1     N
2     N
3     C
4     N
5     S
6     N
7     N
8     S
9     N
10    N
11    N
12    S
13    N
14    C
15    N
16    N
17    N
18    N
19    S
20    N
Run Code Online (Sandbox Code Playgroud)

我想要计数字典:

恩. counts = {N: 14, C:2, S:4}

我试过df['status']['N']但它给了但keyErrordf['status'].value_counts没有用.

python django dataframe pandas

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

Django Rest Framework如何更新SerializerMethodField

我有这样的序列化器:

class PersonSerializer(serializers.ModelSerializer):
    gender = serializers.SerializerMethodField()
    bio = BioSerializer()

    class Meta:
        model = Person
        fields = UserSerializer.Meta.fields + ('gender', 'bio',)

    def get_gender(self, obj):
        return obj.get_gender_display()
Run Code Online (Sandbox Code Playgroud)

我在执行GET请求时使用它来显示"男性"和"女性"("F"的"M").

这很好用.

但现在我正在为模型编写补丁方法并且SerializerMethodField()已经read_only=True.所以我没有为性别领域获得价值serializer.validated_data().如何克服这个问题?

python django django-serializer django-rest-framework

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

如何为芹菜中的每个节点命名

我们在烧瓶应用程序中使用芹菜。我们的各种任务有很多队列,我们​​使用 supervisord 来运行队列。我们使用 cloudamqp 代理。

示例主管配置如下所示:

[program:my-queue]
command=/home/ubuntu/opt/proect/venv/bin/celery -A async_runner worker -Q my_queue --loglevel=INFO --without-gossip --without-mingle --autoscale=1,1  -c 1
environment=PYTHONPATH=/home/ubuntu/opt/project/,PRODUCTION_ENVIRONMENT=true
directory=/home/ubuntu/opt/project/app

process_name = %(program_name)s_%(process_num)02d
user=ubuntu
numprocs=2
autostart=true
autorestart=true
startsecs=10
stopwaitsecs = 600
priority=998
Run Code Online (Sandbox Code Playgroud)

我们得到以下错误,队列就停止了。

[2017-04-06 12:43:06,759: WARNING/MainProcess] /home/ubuntu/opt/project/venv/local/lib/python2.7/site-packages/kombu/pidbox.py:75: UserWarning: A node named celery@ip-xxx-yy-yy-yy is already using this process mailbox!

Maybe you forgot to shutdown the other node or did not do so properly?
Or if you meant to start multiple nodes on the same host please make sure
you give …
Run Code Online (Sandbox Code Playgroud)

python celery supervisord

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

OSCAR_SEARCH_FACETS用于过滤产品列表

我正在使用django oscar开发电子商务网站.产品已列出,我必须应用过滤器(例如年份,价格等).我们可以使用oscar facet来实现这种过滤功能吗?

我尝试按照oscar文档添加以下内容,但不知道如何使其工作并在我的前端渲染.

OSCAR_SEARCH_FACETS = {
'fields': OrderedDict([
    ('product_class', {'name': _('Type'), 'field': 'product_class'}),
    ('rating', {'name': _('Rating'), 'field': 'rating'}),
]),
'queries': OrderedDict([
    ('price_range',
     {
         'name': _('Price range'),
         'field': 'price',
         'queries': [
             # This is a list of (name, query) tuples where the name will
             # be displayed on the front-end.
             (_('0 to 20'), u'[0 TO 20]'),
             (_('20 to 40'), u'[20 TO 40]'),
             (_('40 to 60'), u'[40 TO 60]'),
             (_('60+'), u'[60 TO *]'),
         ]
     }),
])
} …
Run Code Online (Sandbox Code Playgroud)

python django django-oscar

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

不幸的是13号

我来了这个问题倒霉的13号!最近但想不到有效的解决方案.

问题陈述 :

N被视为输入.

N可以非常大0 <= N <= 1000000009

查找由不包含"13"的N个字符组成的此类字符串的总数.字符串可以包含0-9的任何整数,重复任意次.

# Example:

# N = 2 :
# output : 99 (0-99 without 13 number)

# N =1 :
# output : 10 (0-9 without 13 number)
Run Code Online (Sandbox Code Playgroud)

我的解决方案

N = int(raw_input())

if N < 2:
    print 10

else:
    without_13 = 10

    for i in range(10, int('9' * N)+1):
        string = str(i)
        if string.count("13") >= 1:
            continue
        without_13 += 1
    print without_13
Run Code Online (Sandbox Code Playgroud)

产量

输出文件应包含模块1000000009的新行中每个查询的答案.

还有其他任何有效的解决方法吗?我的解决方案在编码站点上超出了时间限制.

python

5
推荐指数
2
解决办法
419
查看次数

弹性搜索不提供页面大小较大的数据

获取数据大小:约20,000

问题:在 python 中使用以下命令搜索 Elastic Search 索引数据

但没有得到任何结果。

from pyelasticsearch import ElasticSearch
es_repo = ElasticSearch(settings.ES_INDEX_URL)
search_results = es_repo.search(
            query, index=advertiser_name, es_from=_from, size=_size)
Run Code Online (Sandbox Code Playgroud)

如果我给出的大小小于或等于 10,000,它可以正常工作,但如果是 20,000,则不行, 请帮我找到一个最佳解决方案。

PS:深入研究 ES 发现此消息错误:

结果窗口太大,from + size 必须小于或等于:[10000] 但为 [19999]。请参阅滚动 API,了解请求大数据集的更有效方法。

python elasticsearch pyelasticsearch

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

是猴子修补技术的python示例中的装饰器吗?

最近我正在阅读猴子修补技术,并想知道是否可以这么说.

python monkeypatching

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

如何将 Flask 服务器时区设置为 GMT

我们已经启动并运行了 Flask 服务器。然而,要求将服务器时区设置为 GMT 而不是 UTC。我在烧瓶文档中找不到与时区相关的任何内容。这可能吗?我知道在 django 中这是可能的。

flask

0
推荐指数
1
解决办法
8431
查看次数

Celery:为某些任务分配特定的时间限制

我有一个这样写的任务:

@async_runner.app.task(name='task_name')
def async_task():
    async_runner.send_task(
        task_fn=task_processing,
        queue='queue_name',
        options=async_runner.DEFAULT_RETRY_POLICY
    )
Run Code Online (Sandbox Code Playgroud)

我的默认任务时间限制是 30 分钟。我想将此特定任务的时间限制增加到 1 小时。

如何为这一项任务设置不同的时间限制?

我已经看过这个,但我的问题是特定于 Flask 以及如何在 Flask 中配置 Celery。谢谢。

python celery

0
推荐指数
1
解决办法
1715
查看次数

使用重复元素python查找列表中元素的最后一个索引

我有一个这样的清单:[1,12,3,4,4,5,12,15,13,​​11]

我想找到12的指数即6.我尝试过线性方法,但效率不高.

item = 12
for i in range(len(mylist)):
    if mylist[i] == item:
        index = i
return index
Run Code Online (Sandbox Code Playgroud)

有效的方法来获得这个?

python

-1
推荐指数
1
解决办法
2306
查看次数