问题描述:给定一个数据框,其中包含按组划分的数据,需要基于前一个条目构建一个新列。 具体做法: 1.使用groupby方法按组分组,通过shift方法提取前一个条目,并将结果赋值给新列。 示例代码如下:
import pandas as pd
data = {'group': ['A', 'A', 'A', 'B', 'B', 'B'], 'value': [1, 2, 3, 4, 5, 6]} df = pd.DataFrame(data)
df['previous_value'] = df.groupby('group')['value'].shift(1)
print(df)
输出结果如下:
group value previous_value 0 A 1 NaN 1 A 2 1.0 2 A 3 2.0 3 B 4 NaN 4 B 5 4.0 5 B 6 5.0
其中,NaN表示没有前一个值。