在pandas数据框架中比较行并替换其中一行中的值



我有如下的pandas数据框架:

当前值tbody> <<tr>
年份 季度 年-月未来值日期
2021第三季度2021 - 100.4112021-10-01
2021第四季度2022 - 01年-0.1002022-01-01
2022Q12022 - 04-0.2242022-04-01
2022Q12022 - 03年0.1100.0922022-03-01

假设行按年-月降序排序,您可以使用GroupBy.agg和一个手工字典进行聚合(默认值为'第一个'值,'最后一个'值为'未来值'):

d = {c: 'first' for c in df}
d['Future Value'] = 'last'
out = df.groupby(['Year', 'Quarter'], as_index=False).agg(d)

输出:

Year Quarter Year-Month  Current Value  Future Value        Date
0  2021      Q3    2021-10          0.411           NaN  2021-10-01
1  2021      Q4    2022-01         -0.100           NaN  2022-01-01
2  2022      Q1    2022-04         -0.224         0.092  2022-04-01

相关内容

  • 没有找到相关文章