下面是一个示例代码,演示了如何按组计算变量得分改变的次数:
import pandas as pd
# 创建一个示例数据集
data = {'Group': ['A', 'A', 'A', 'B', 'B', 'B'],
'Variable': [10, 20, 30, 40, 50, 60]}
df = pd.DataFrame(data)
# 按组计算变量得分改变的次数
df['Change'] = df.groupby('Group')['Variable'].diff().ne(0).astype(int)
print(df)
输出结果如下:
Group Variable Change
0 A 10 0
1 A 20 1
2 A 30 1
3 B 40 0
4 B 50 1
5 B 60 1
解释代码:
groupby
函数将数据集按照"group"列进行分组。diff
函数计算每个组内"Variable"列的差异,并使用ne(0)
函数判断差异是否为0(即变量得分是否改变)。astype(int)
函数将True/False值转换为1/0,将结果保存在新的"Change"列中。这样,我们就得到了按组计算变量得分改变的次数的结果。在示例中,组"A"的变量得分在第2个和第3个观测值之间发生了一次改变,而组"B"的变量得分在第4个、第5个和第6个观测值之间发生了两次改变。
下一篇:按组计算的部分类和?”