我正尝试将 Dataframe groupby成树格式,以便它以分层的方式排序。DC是第一列,按顺序分为Retailer、Store Count、Product descriptions、case volume和velocity。将Retailer列加总为新列“StoreCt”,该列位于“Retailer”之后。
我遇到的问题是商店数量被复制了。
这是我的 Dataframe
| 零售商|直流|产品|铯|体积|速度|
| - ------|- ------|- ------|- ------|- ------|- ------|
| 乔|美国广播公司|酒吧|铯|费用|速度|
| 乔|直接财务委员会|饮料1|铯|费用|速度|
| 乔|直接财务委员会|饮料2|铯|费用|速度|
| 兰迪|美国广播公司|酒吧|铯|费用|速度|
| 彼得|直接财务委员会|饮料2|铯|费用|速度|
| 约翰|XYZ|饮料|铯|费用|速度|
| 乔|XYZ|小吃|铯|费用|速度|
| 乔|直接财务委员会|条2|铯|费用|速度|
这就是我想要的结果。cs、volume和velocity列中的值需要保持不变
| 直流|零售商|储存Ct|产品|铯|体积|速度|
| - ------|- ------|- ------|- ------|- ------|- ------|- ------|
| 美国广播公司|乔|1个|酒吧|铯|费用|速度|
| | 兰迪|1个|酒吧|铯|费用|速度|
| 直接财务委员会|乔|三个|饮料1|铯|费用|速度|
| | | | 饮料2|铯|费用|速度|
| | | | 条2|铯|费用|速度|
| | 彼得|1个|饮料2|铯|费用|速度|
| XYZ|乔|1个|小吃|铯|费用|速度|
| | 约翰|1个|饮料|铯|费用|速度|
这是我的代码来获取存储计数,但是我不知道如何在不复制值的情况下将其添加到 Dataframe 中
store_count = df.groupby("Retailer").size().to_frame("StoreCt")
store_count
1条答案
按热度按时间7rfyedvj1#
使用
transform
将结果广播到所有行:要获得输出,可以对列重新排序: