使用熊猫并绘制地访问时序数据框中的最后一个值

问题描述 投票:0回答:1

我将如何获取时间序列的最后一个值?

我在很多国家都有时间序列信息的df,它跟踪多个变量并进行一些简单的平均等。

我只想获取每个国家/地区的最新值,并用绘图方式将其绘制成图形。我已经尝试过使用.last()了,但不确定如何将其放入循环中。

我需要同时获取一个图表的最后一个值和另一个图表的最后n个值。


# Daily Change

country = "X"

#Plot rolling average new cases


data =  [go.Scatter(x=df_join.loc[f'{country}']['Date'],
                y=df_join.loc[f'{country}']['Pct Change'],
                mode='lines',
                name='Pct Change')]


layout = go.Layout(title=f'{country}: Pct Change')

fig = go.Figure(data=data, layout=layout)
pyo.plot(fig)
python pandas dataframe plotly
1个回答
0
投票

IIUC,您需要先过滤数据框:

dates = pd.date_range(pd.Timestamp('today'),pd.Timestamp('today') + pd.DateOffset(days=5))

df = pd.DataFrame({'Date' : dates, 'ID' : ['A','A','A','B','B','B']})


df2 = df.loc[df.groupby(['ID'])['Date'].idxmax()]


print(df2)

                        Date ID
2 2020-05-16 12:26:06.772939  A
5 2020-05-19 12:26:06.772939  B
© www.soinside.com 2019 - 2024. All rights reserved.