分组数据并减去第一个和最后一个值(或更高和更低的值)

迭戈·安东尼奥:

我得到了分贝:

   pat  exp   t  wt
0  abc    1  10   0
1  abc    1  20   0
2  abc    1  30   0
3  dfg    2  20   0
4  dfg    3  15   0
5  dfg    3  30   0
6  dfg    2  40   0
7  hij    4  25   0
8  hij    4  50   0

我想通过为每个“ pat”和“ exp”减去“ t”的第一个和最后一个值来更改“ wt”列的值,例如,对于“ pat” =“ dfg”和“ exp” =在图3中,“ wt”的值将减去30-15。所需的输出如下所示:

   pat  exp   t   wt
0  abc    1  10   20
1  abc    1  20   20
2  abc    1  30   20
3  dfg    2  20   20
4  dfg    3  15   15
5  dfg    3  30   15
6  dfg    2  40   20
7  hij    4  25   25
8  hij    4  50   25

如果不对数据进行排序,则可以通过减去每个“ pat”和“ exp”的“ t”的上限值和下限值来实现相同的效果。我尝试过

for i in db["pat"]:
    for j in db["exp"]:
        db= db["t"].iloc[-1]-db["t"].iloc[0]

但是没有任何反应,并返回错误。请帮助!

YOBEN_S:

让我们试着numpy ptptransform

df['wt']=df.groupby(['pat','exp']).t.transform(np.ptp)
df
   pat  exp   t  wt
0  abc    1  10  20
1  abc    1  20  20
2  abc    1  30  20
3  dfg    2  20  20
4  dfg    3  15  15
5  dfg    3  30  15
6  dfg    2  40  20
7  hij    4  25  25
8  hij    4  50  25

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用pandas减去数据集中所有列的分组数据中的第一个和最后一个值

分组系列的第一个和最后一个值

数据框获取对应列的第一个和最后一个值

选择数据集中的第一个,最后一个和单个观测值

R数据集中的第一个和最后一个观测值

将数组中的第一个和最后一个值分组(连续的值与第一个和最后一个元素分组)

熊猫将组分为第一个值和最后一个值

如何根据列值从数据序列中提取第一个和最后一个值?

获取数据框列的第一个和最后一个值尊重另一列

熊猫从组中获取列的第一个和最后一个值

如何打印第一个和最后一个值?

获取groupby中的第一个和最后一个值

Groupby搜索第一个和最后一个True值

删除组中的第一个和最后一个观测值

从数组获取第一个和最后一个值

获取区域包围的第一个和最后一个值的索引

如何使用pymongo获取第一个和最后一个日期值

矢量如何找到第一个和最后一个当前值

PostgreSQL中window函数的第一个和最后一个值

更改PHP行的第一个和最后一个值

删除第一个和最后一个出现列值的行

多个第一个和最后一个非NA值(按组)

提取json数组/对象的第一个和最后一个值

基于第一个和最后一个值的时差

返回数组中的第一个和最后一个值

NA之前的第一个和最后一个值

使用RLE从组中获取第一个和最后一个值

Excel公式获取第一个和最后一个非零值

连接列表的最后一个和第一个值