以下是一个示例代码,演示了如何按条件分组、添加新列,并根据条件抓取前一行的值:
import pandas as pd
# 创建示例数据
data = {'group': ['A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C'],
'value': [1, 2, 3, 4, 5, 6, 7, 8, 9]}
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
6 C 7 NaN
7 C 8 7.0
8 C 9 8.0
该示例中,首先我们创建了一个包含分组和值的示例数据框。然后,通过groupby
方法按照分组列进行分组。接下来,使用shift
方法将值列进行向前平移一个位置,从而获取前一行的值,并将结果存储在新列previous_value
中。最后,我们打印输出结果。
上一篇:按条件分组 - Pandas
下一篇:按条件分组并计数