【问题标题】:Groupby and find difference from min value of group : PandasGroupby并从组的最小值中找到差异:Pandas
【发布时间】:2019-02-18 16:14:17
【问题描述】:

我有一个像下面这样的组,我怎么知道每个观察值与其组最小值的差异

GROUP VALUE
 1     5
 2     2
 1     10
 2     20
 1     7

所以,我想要的输出应该是这样的

GROUP VALUE diff
 1     5    3
 2     2    0
 1     10   5
 2     20  18
 1     7    5

如何在 pandas 的帮助下实现它

感谢大家的帮助

【问题讨论】:

    标签: python pandas group-by


    【解决方案1】:

    我认为你需要 GroupBy.transform 和减法:

    df['diff'] = df['VALUE'] - df.groupby('GROUP')['VALUE'].transform('min')
    print (df)
       GROUP  VALUE  diff
    0      1      5     0
    1      2      2     0
    2      1     10     5
    3      2     20    18
    4      1      7     2
    

    【讨论】:

    • 可以转换帮助创建两列,如果我的函数给出两个输出
    • @ManuSharma - 你能解释更多吗?
    • @jezrael- 刚刚发布了带有详细信息的问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-12
    • 2021-12-22
    • 1970-01-01
    • 1970-01-01
    • 2013-03-14
    • 2019-06-21
    • 2022-01-03
    相关资源
    最近更新 更多