簡體   English   中英

通過在小時和天級別進行分組來繪制時間序列數據

[英]Plotting time series data by grouping at an hour and day level

我有一個 Pandas 數據框,它在提出乘車請求時帶有時間戳。 數據具有時間序列性質。 我想繪制超過 365 天每天提出的請求數。 我創建了一個包含所有列的新列,並嘗試按操作和繪圖分組,但沒有運氣。 有人可以幫忙嗎?

Time Stamp                        Ride
2018-04-07 07:07:17                1
2018-04-07 07:06:12                1

有幾種方法可以做到這一點。 首先讓我們獲取數據:

import pandas as pd
df = pd.DataFrame({'Time Stamp': ['2018-04-07 07:07:17', '2018-04-07 07:06:12'], 'Ride': [1, 1]})
df['Time Stamp'] = pd.to_datetime(df['Time Stamp'])

您可以將groupbyGrouper一起使用,它返回一個系列:

df.groupby(pd.Grouper(key='Time Stamp', freq='1D')).Ride.sum()

# Time Stamp
# 2018-04-07    2
# Freq: D, Name: Ride, dtype: int64

或者您可以將時間戳放在索引中並使用resample ,它返回一個數據幀:

df.set_index('Time Stamp').resample('1D').sum()

#               Ride
# Time Stamp    
# 2018-04-07    2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM