【问题标题】:Finding the minimum value based on another column in pandas根据熊猫中的另一列查找最小值
【发布时间】:2020-08-09 03:22:48
【问题描述】:

我必须在数据框 df(附加快照)的所有 3 个渠道(酒店、咖啡馆或餐厅)中找到销售额最小值的渠道类型。因此输出将是销售额最低的渠道。 我正在编写的代码如下:

df1=df.groupby(['Channel']).sum()

df1=df1.sum(axis=1)

print(df1[['Channel']].idxmin())

但这似乎是一些“索引错误”。我需要将频道设置为索引并查找吗?还是有其他方法?

【问题讨论】:

    标签: pandas group-by minimum


    【解决方案1】:

    改变你的最后一行

    print(df1.idxmin())
    

    【讨论】:

      【解决方案2】:

      假设您想对除 Channel 之外的所有值列求和,那么您的所有代码都会一直运行到最后一行。代码的清理版本:

      df = pd.DataFrame({"val": [1, 2, 3, 4], "Val2": [5, 100, 6, 7], "Channel": ["Hotel", "Cafe", "Restaurant", "Hotel"]})
      df.groupby('Channel').sum().sum(axis='columns').idxmin()
      

      如果您确实想查找每列的 idxmin,请删除 .sum(axis='columns')

      【讨论】:

        猜你喜欢
        • 2021-07-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-12-11
        • 2020-11-26
        • 1970-01-01
        • 2019-07-21
        • 2021-01-13
        相关资源
        最近更新 更多