小编des*_*ond的帖子

如何在没有数据类型的情况下从DataFrame打印字符串值

当我从数据框中显示一个单元格时,我得到了

df[df.a==1]['b']
Out[120]: 
0    2
Name: b, dtype: int64
Run Code Online (Sandbox Code Playgroud)

但是,当我想将它转换为字符串时,我得到了

str(df[df.a==1]['b'])
Out[124]: '0    2\nName: b, dtype: int64'
Run Code Online (Sandbox Code Playgroud)

如何dtype在没有字符串操作的情况下打印没有和名称的值?

python pandas

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

如何矢量化基于最后x行数据的Pandas计算

我有一个相当复杂的预测代码,每列使用wls超过20列和数百万数据.现在我使用iterrow循环日期,然后根据这些日期中的日期和值,提取不同大小的数据进行计算.在我的制作中运行需要几个小时,我将代码简化为以下内容:

import pandas as pd
import numpy as np
from datetime import timedelta

df=pd.DataFrame(np.random.randn(1000,2), columns=list('AB'))
df['dte'] = pd.date_range('9/1/2014', periods=1000, freq='D')

def calculateC(A, dte):
    if A>0: #based on values has different cutoff length for trend prediction
        depth=10
    else:
        depth=20
    lastyear=(dte-timedelta(days=365)) 
    df2=df[df.dte<lastyear].head(depth) #use last year same date data for basis of prediction
    return df2.B.mean() #uses WLS in my model but for simplification replace with mean

for index, row in df.iterrows():
    if index>365:
        df.loc[index,'C']=calculateC(row.A, row.dte)
Run Code Online (Sandbox Code Playgroud)

我读到iterrow是主要原因,因为它不是使用Pandas的有效方法,我应该使用vector方法.但是,我似乎无法根据条件(日期,不同长度和值范围)找到一种向量的方法.有办法吗?

python pandas

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

根据pandas 0.16中的条件更新列

我正在尝试根据另一列的条件更新列

df=pd.DataFrame(np.random.randn(6,4),columns=list('abcd'))
df[df.b>0].d=1
Run Code Online (Sandbox Code Playgroud)

为什么这不起作用?没有条件它的工作原理.

python pandas

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

具有scipy的两个正态分布的重叠概率

我有两个scipy.stats.norm(mean,std).pdf(0)正态分布曲线,我试图找出两条曲线的差异(重叠).

我如何用Python中的scipy计算它?谢谢

python scipy

4
推荐指数
3
解决办法
6712
查看次数

pika 无法创建仲裁队列

我使用 RabbitMQ 设置 amazonMQ 并尝试使用 Pika 连接和发布消息:

        credentials = pika.PlainCredentials(MQUSER, MQPW)
        amqs_str='amqps://'+MQUSER+':'+MQPW + '@'+MQURL+':'+str(MQPORT)+'/%2F'
        parameters= pika.URLParameters(amqs_str)
        connection = pika.BlockingConnection(parameters)
        channel= connection.channel()
        channel.queue_declare(queue=MQ_QUEUE_NAME,durable=True)
Run Code Online (Sandbox Code Playgroud)

这会起作用,但是创建的队列是经典的,而且我知道仲裁在多节点rabbitmq服务器中要好得多。我搜索 pika 文档https://pika.readthedocs.io/en/0.10.0/modules/channel.html但找不到任何设置来设置仲裁类型队列。有人可以建议吗?

python pika

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

标签 统计

python ×5

pandas ×3

pika ×1

scipy ×1