pandas - Groupby 和 Sum 在单列上并找到最大值
问题描述
我正在研究这样的df:
InvoiceNo StockCode Description Quantity InvoiceDate UnitPrice CustomerID
536365 85123A WHITE T-LIGHT 6 2010-12-01 08:26:00 2.55 17850.0
536365 71053 WHITE METAL LANTERN 6 2010-12-01 08:26:00 3.39 17850.0
536365 84406B COAT HANGER 8 2010-12-01 08:26:00 4.73 17850.0
536368 84029G HOT WATER BOTTLE 6 2010-12-01 09:41:00 9.11 12391.0
...
我需要找到销量最多的 StockCode。我尝试了以下代码:
clean_data.groupby(['StockCode']).sum().sort_values('Quantity', ascending=False)
但这也给了我其他列的总和,这是我不想要的。我也尝试使用.idxmax()
前面的语句找到最大值,但我认为答案不准确。
我还需要找到每笔交易出售的独特商品的数量。因此,每个唯一 (InvoiceNo, CustomerID) 对的行数,并且不知道如何从这个开始。一些见解将不胜感激。
提前致谢!
解决方案
对于第一部分,你可以试试这个 -
clean_data.groupby(['StockCode'])['Quantity'].sum().idxmax()
对于第二部分,试试这个 -
clean_data.groupby(['InvoiceNo', 'CustomerID'])['StockCode'].nunique()
推荐阅读
- php - Razorpay 未定义
- android - 当 i18n.locale 更改时,在本机 android 上更改 Splash Image
- javascript - 来自 $refs 的 Vue.js v-for 元素在监视功能中损坏
- java - 在 build.gradle 中处理自定义注解
- python - 熊猫:从日期时间索引合并日期和小时
- android - 我可以加快 MonkeyRunner 的 takeSnapshot() 函数吗?
- javascript - 高中生在简单的 HTML/JS 应用程序中处理持久状态的简单方法是什么?
- php - 我正在尝试在 laravel 中创建多个表用户和管理员登录,但出现错误
- kendo-ui - KendoUI (Telerik 2018) - TreeList 直到手动刷新才显示新创建的记录
- docker - 用于远程执行 Docker 操作的 Docker Rest API