- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我有一个由不同子组组成的 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]
})
我想找到其组中每个 id 的排名,例如,越低的值越好。在上面的示例中,在 A 组中,Id 1 的等级为 1,Id 2 的等级为 4。在 B 组中,Id 5 的等级为 2,Id 8 的等级为 1,依此类推开。
现在我通过以下方式评估排名:
df.sort('value', ascending = True, inplace=True)
def ranker(df):
df['rank'] = np.arange(len(df)) + 1
return df
df = df.groupby(['group']).apply(ranker)
这个过程有效,但是当我在数百万行数据上运行它时它真的很慢。有没有人对如何制作更快的排名功能有任何想法。
最佳答案
rank 是 cythonized,所以应该非常快。您可以传递与 df.rank()
相同的选项 here是 rank
的文档。如您所见,可以通过 method
参数以五种不同的方式之一完成平局。
您也可能只需要组的 .cumcount()
。
In [12]: df.groupby('group')['value'].rank(ascending=False)
Out[12]:
0 4
1 1
2 3
3 2
4 3
5 2
6 1
7 4
dtype: float64
关于python - 在 Pandas 数据框中对子组中的行进行排名的更快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26720916/
我想添加子类别并在列表上使用react,但是当我单击子类别时,我有两个事件:第一个在子类别上,第二个在父类别上。 我怎样才能只有子类别? 这是我的实际代码: getList(myList){
我有一个问题。我有 1:N 关系(用户:任务)。我需要查询所有用户的列表,其中每个用户都有其任务列表 - 按日期(指定属性)排序。 最佳答案 获取用户 RealmResults users = rea
考虑以下代码片段: OPTIONS Email 每当我将鼠标悬停在 上时,
我正在与 PF4J(Plugin Framework for Java) 的开发者合作为 Wicket 提供更好的插件功能。已经有一个 pf4j-spring 和一个 pf4j-wicket 项目来提
我有一个带有 SVG 子元素的父元素(SVG 是一个简单的立方体)。父级的 CSS 不透明度 = 0.45。在 Android/Webview 上显示不透明度值在渲染时应用于各个 SVG 多边形,导致
我试图放置一个标签,使标签的顶部位于 UIViewController 下方的 2/3 处。所以我写了这个约束,但它给了我下面的错误。 NSLayoutConstraint *labelTopCons
我是一名优秀的程序员,十分优秀!