【发布时间】:2017-02-17 21:27:33
【问题描述】:
我在 pandas 中有一个数据框,其中包含我想分组的信息。从每个组中,我想从该组的整个列中减去某个列的第一个值。然后应将这些值作为附加列添加到数据框中。 我的初始数据框示例:
time sample x y mass
3 1.0 216 12 12
4 1.0 218 13 12
5 1.0 217 12 12
6 1.0 234 13 13
1 2.0 361 289 23
2 2.0 362 287 22
3 2.0 362 286 22
5 3.0 124 56 18
6 3.0 126 52 17
我想要的结果是:
sample time x y mass xdiff
1.0 3 216 12 12 0
1.0 4 218 13 12 2
1.0 5 217 12 12 1
1.0 6 214 13 13 -2
2.0 1 361 289 23 0
2.0 2 362 287 22 1
2.0 3 362 286 22 1
3.0 5 124 56 18 0
3.0 6 126 52 17 2
到目前为止我只能弄清楚碎片:
s = df.groupby('sample')
#gives me the groups
s["x"].nth(0)
#gets the first x value of each group
我只是不确定如何从该样本组中的所有 x 值中减去每个样本组的第一个 x 值。 有谁知道如何做到这一点?谢谢!
【问题讨论】: