这是我正在研究的一小部分
data = {
'country_name' : ['Afghanistan', 'Afghanistan', 'Afghanistan', 'Afghanistan', 'Afghanistan', 'Afghanistan', 'Albania', 'Albania', 'Albania'],
'year' : [2017, 2018, 2019, 2021, 2022, 2023, 2007, 2009, 2010],
'score' : [2.6617181301116943, 2.694303274154663, 2.375091791152954, 2.4360344409942627, 1.2812711000442505, 1.8589999675750732, 4.634251594543457, 5.485469818115234, 5.268936634063721]}
df = pd.DataFrame(data)
Dataframe
我想找出一个国家和连续x年的分数之差。如果x = 1,那么输出应该是这样的。
Desired Output
因此,如果同一个国家有一个跳过的年份,那么下一个记录的年份将不会有可用的差异。有一年独立的国家也不会有区别。
我也打算对x = 2,3,4等做同样的事情
1条答案
按热度按时间vmjh9lq91#
按连续年份创建组,比较
Series.diff
与Series.ne
以及Series.cumsum
的累积和,并将其用于DataFrameGroupBy.diff
的差异: