小编cap*_*hab的帖子

更快地在pandas数据帧中对子组中的行进行排名

我有一个由不同子组组成的熊猫数据框.

    df = pd.DataFrame({
    'id':[1, 2, 3, 4, 5, 6, 7, 8], 
    'group':['a', 'a', 'a', 'a', 'b', 'b', 'b', 'b'], 
    'value':[.01, .4, .2, .3, .11, .21, .4, .01]
    })
Run Code Online (Sandbox Code Playgroud)

我想在其组中找到每个id的等级,比如说,值越低越好.在上面的示例中,在组A中,Id 1的排名为1,Id 2的排名为4.在组B中,Id 5的排名为2,Id 8的排名为1,因此上.

现在我通过以下方式评估排名:

  1. 按值排序.

    df.sort('value', ascending = True, inplace=True)

  2. 创建一个ranker函数(它假设变量已经排序)

    def ranker(df): df['rank'] = np.arange(len(df)) + 1 return df

  3. 分别对每个组应用排名功能:

    df = df.groupby(['group']).apply(ranker)

这个过程有效,但是当我在数百万行数据上运行它时,它真的很慢.有没有人对如何制作更快的排名功能有任何想法.

python pandas

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

如何在散景中使用悬停工具提示显示整数,而不是浮点数

我有一个简单的XY数据点图.当我将鼠标悬停在它上面时,我希望我的Bokeh图形显示每个数据点的整数值.我接近得到我想要的东西但是当我将鼠标悬停在数据点上时,它显示一个浮点数然后更高,它使用科学记数法.有没有办法让悬停工具只返回X和Y的整数值而不使用科学记数法?

这是一些示例代码:

from bokeh.plotting import *
from bokeh.models import HoverTool

x = range(1,101)
y = [i*i for i in x]

TOOLS = "pan,wheel_zoom,box_zoom,reset,save,box_select, hover"

p = figure(x_axis_label = "Days",
       y_axis_label = "Return",
       tools=TOOLS)
p.circle(x, y)

#adjust what information you get when you hover over it
hover = p.select(dict(type=HoverTool))
hover.tooltips = [
    ("Days", "$x"),
    ("Return", "$y"),
]

show(VBox(p))
Run Code Online (Sandbox Code Playgroud)

python bokeh

21
推荐指数
2
解决办法
5819
查看次数

如何将rpy2 ListVector(rpy2.robjects.vectors.ListVector)转换为python?

我正在使用rpy2从python运行auto.arima()模型。我的预测输出的对象类型为rpy2.robjects.vectors.ListVector。

input1:  type(forecast)
output: rpy2.robjects.vectors.ListVector
Run Code Online (Sandbox Code Playgroud)

问题:如何将该预测以rpy2.robjects.vectors.ListVector的形式转换回python?请注意,我看过其他帖子,但答案似乎太过具体了,无论如何,都无法从中找出答案。

请注意,此ListVector具有以下名称:

input: print(forecast.names)
output:   [1] "method"    "model"     "level"     "mean"      "lower"     "upper"    
 [7] "x"         "xname"     "fitted"    "residuals"
Run Code Online (Sandbox Code Playgroud)

python time-series rpy2

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

标签 统计

python ×3

bokeh ×1

pandas ×1

rpy2 ×1

time-series ×1