【发布时间】:2019-08-20 15:51:01
【问题描述】:
我正在尝试在 Python 3.6 中执行类似 SQL 窗口函数的操作。我创建了以下代码,我发现 here,但我收到以下错误:
“ValueError:无法从重复的轴重新索引”
df = pd.DataFrame({'id' : ['daeb21718d5a','daeb21718d5a','daeb21718d5a'],
'product_id' : [123,456,789],
'probability' : [0.076838,0.053384, 0.843900 ]})
df['rank'] = df.sort_values(['probability'], ascending=False) \
.groupby(['id']) \
.cumcount() + 1
奇怪的是,如果我在分组之前添加.reset_index(drop=True),则错误已修复。
【问题讨论】:
-
您的预期输出是什么?您要对哪一列进行排名?
-
您使用的是什么版本的 Pandas?你的代码对我来说很好用(Pandas 0.24.2)
-
我无法重现您的错误,您的代码在我的机器上运行良好。 (
pandas.__version__是 0.23.4) -
@MaxU 我用的是和你一样的版本。