python - 计算组中元素之间的差异

标签 python pandas pandas-groupby

考虑 a 中每个类别恰好有两行的数据框:

d = pd.DataFrame({"a": ["a", "b", "c", "a", "b", "c"], "b": [1, 3, 1, 4, 2, 6]})
>   a   b
0   a   1
1   b   3
2   c   1
3   a   4
4   b   2
5   c   6

我想计算 ba 之间的绝对差异:

    a   b
0   a   3
1   b   1
2   c   5

最佳答案

您可以将它们分组,然后计算差异和绝对值(链):

d.groupby('a').diff().abs().dropna()

索引可能不完全符合要求,但您可能可以弄清楚。

关于python - 计算组中元素之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50983942/

相关文章:

python - python中二维列表的长度

python - Fabric 命名空间需要一个 fabfile

python - 使用 codecs.open() 访问内存中的解压文件

python - 如何将推文 ID 作为字符串写入 CSV 文件

python - 如何将 Pandas 数据框的索引转换为列

python - 根据 Pandas 数据框中的多个二级标签选择多索引列

python - pandas groupby 并更新一列中的值大于另一列中的值的次数总和

python - 在 Celery 任务中获取 task_id

python - pandas groupby 聚合元素列表加法

pandas - 扁平化多索引列的简洁方法