如何在熊猫数据框中找到每个月的“n”个最大值? [复制]

Posted

技术标签:

【中文标题】如何在熊猫数据框中找到每个月的“n”个最大值? [复制]【英文标题】:How do I find "n" maximum values for each month in a pandas dataframe? [duplicate] 【发布时间】:2020-05-26 07:30:15 【问题描述】:

给定一个 Pandas 数据框,其中包含公司在一年中不同月份的采购,我如何找到每个月最高的“N”?

目前有:

df.groupby(df['Transaction Date'].dt.strftime('%B'))['Amount'].max()

返回每个月的最高值,但希望查看最高的四个值。

我是接近这里还是有更有效的方法?提前致谢

【问题讨论】:

欢迎堆栈溢出!有一个内置函数dataframe.nlargest() 看起来很合适,但是如果没有样本输入和输出来制作minimal reproducible example 就很难回答@ 这能回答你的问题吗? Pandas get topmost n records within each group 你做过研究吗?见:How to Ask、meta.***.com/questions/261592/… 【参考方案1】:

sort_values 然后tail

yourdf=df.sort_values('Amount').groupby(df['Transaction Date'].dt.strftime('%B'))['Amount'].tail(4)

【讨论】:

非常感谢 @mkelly 请分享minimal reproducible example。

以上是关于如何在熊猫数据框中找到每个月的“n”个最大值? [复制]的主要内容,如果未能解决你的问题,请参考以下文章