没有聚合函数的分组

zor*_*119 6 python pandas pandasql

我见过这样的pandasql查询:

df = pd.DataFrame({'A': [1, 2, 2], 'B': [3, 4, 5]})
sqldf('select * from df group by A', locals())
Run Code Online (Sandbox Code Playgroud)

这给出了:

   A  B
0  1  3
1  2  6
Run Code Online (Sandbox Code Playgroud)

我觉得如果没有聚合函数就有一个组很奇怪,但是有人能告诉我在聚合列上使用了哪个函数来将多个值减少为一个吗?

And*_*w L 5

看起来您正在寻找的groupby方法是last():

df = pd.DataFrame({'A': [1, 2, 2], 'B': [3, 4, 5]})
df.groupby('A', as_index=False).last()
Run Code Online (Sandbox Code Playgroud)

输出:

   A  B
0  1  3
1  2  5
Run Code Online (Sandbox Code Playgroud)

我说的是假设5是一个错字(请参阅上面的评论),并且应该是6。

  • 我的`.last()`函数在其他地方提到过,但我在这里找到了它,它解决了我有一段时间的问题:如果你想做一个`groupby()`,用` MultiIndex`,如何返回你想要的值? (2认同)