分组后计算熊猫数据框中列的相邻差异

我想在按列“y”分组后计算与名为“x”的数据框列中的相邻数字的差异,并将结果存储在第三列“z”中?

例子:

import numpy as np
import pandas as pd

np.random.seed(10)

df = pd.DataFrame(np.random.randint(0, 13, size=13), columns=['x'])
df['y']= ['a','a','a','b','b','b','b','c','c','d','e','e','e']

print(df)

#     x  y
#0    9  a
#1    4  a
#2    0  a
#3    1  b
#4   11  b
#5   12  b
#6    9  b
#7    0  c
#8    1  c
#9   10  d
#10   8  e
#11   9  e
#12   0  e

groups=df.groupby('y')

for name,group in groups:
    print(group['x'].diff().shift(-1))

#0   -5.0
#1   -4.0
#2    NaN
#Name: x, dtype: float64
#3    10.0
#4     1.0
#5    -3.0
#6     NaN
#Name: x, dtype: float64
#7    1.0
#8    NaN
#Name: x, dtype: float64
#9   NaN
#Name: x, dtype: float64
#10    1.0
#11   -9.0
#12    NaN
#Name: x, dtype: float64

新数据框的内容应该是:

#     x  y    z
#0    9  a -5.0
#1    4  a -4.0 
#2    0  a  NaN
#3    1  b 10.0
#4   11  b  1.0
#5   12  b -3.0
#6    9  b  NaN
#7    0  c  1.0
#8    1  c  NaN
#9   10  d  NaN
#10   8  e  1.0
#11   9  e -9.0
#12   0  e  NaN

我的最终目标是生成“z”中数据的直方图。

穆罕默德·哈桑

采用:

df['z'] = df.groupby('y')['x'].transform('diff').shift(-1)
print(df)

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

熊猫中的分组和列差异计算

计算分组数据框的列中的项目对数。(熊猫)

熊猫分组数据框,计算连续行之间的差异

计算分组熊猫数据框中的总和

熊猫数据框分组列的一列差异图

计算在不同列中定义的每个组的数据框中相邻行(十进制数)的差异

计算差异选定元素熊猫数据框列

熊猫计算数据框行中的日期差异

如何计算熊猫数据框中连续行之间的差异?

熊猫数据框中的计算列

计算熊猫数据框中的新列

计算PowerBI矩阵中相邻列的差异

通过相邻行的差异过滤熊猫数据框

计算熊猫数据框中行之间的差异

如何对这个熊猫数据框进行分组,排序和计算差异?

Pandas数据框如何对数字列的bin进行分组,然后计算其他二进制列

分组后计算数据帧中某些值的数量

如何基于列中的值差异拆分熊猫数据框

熊猫数据框分组和回归计算

Python熊猫对数据框列进行分组,并使用它们来计算Excel工作表中的新列

将熊猫数据框中的列分组并减少数量

如何对多列进行分组以在熊猫数据框中列出

熊猫中数据框的多列分组和求和

如何在熊猫中按数据框分组并保留列

熊猫对分组数据框中的列重新排序

熊猫计算数据框中列本身的数据

根据具有相邻索引的不同列中的多行编辑熊猫数据框的列

设置一个变量等于熊猫数据框中相邻列中的值

熊猫数据框中的组均值差异?