根据 pandas 中的另一列查找最小值
Finding the minimum value based on another column in pandas
我必须在数据框 df(附加快照)的所有 3 个渠道(酒店、咖啡馆或餐厅)中找到销售额最小值的渠道类型。因此输出将是销售额最小的渠道。
我正在编写的代码如下:
df1=df.groupby(['Channel']).sum()
df1=df1.sum(axis=1)
print(df1[['Channel']].idxmin())
不过好像有些'index error'。我需要将 Channel 设置为索引并查找吗?或者还有其他方法吗?
更改最后一行
print(df1.idxmin())
假设您想要对除 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')
我必须在数据框 df(附加快照)的所有 3 个渠道(酒店、咖啡馆或餐厅)中找到销售额最小值的渠道类型。因此输出将是销售额最小的渠道。 我正在编写的代码如下:
df1=df.groupby(['Channel']).sum()
df1=df1.sum(axis=1)
print(df1[['Channel']].idxmin())
不过好像有些'index error'。我需要将 Channel 设置为索引并查找吗?或者还有其他方法吗?
更改最后一行
print(df1.idxmin())
假设您想要对除 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')