[英]How to arrange time series data into ascending order
我有一個帶有時間序列數據的 dataframe
時間戳 | 價值觀 |
---|---|
10-26-22 上午 10 點 | 1個 |
10-26-22 09.04 上午 | 5個 |
10.26-22 上午 10.06 | 6個 |
---------- | ---------- |
10-27-22 上午 3 點 32 分 | 9 |
10-27-22 下午 3 點 36 分 | 5個 |
10-27-22 下午 3 點 31 分 | 8個 |
---------- | ---------- |
10-27-22 上午 3 點 37 分 | 8.23 |
10-28-22 上午 4 點 20 分 | 7.2 |
我試圖按以下方式將時間戳列按升序排序:
df.sort_values("時間戳", ascending = True, inplace= True)
但是這段代碼不起作用。 我想得到這樣的數據:
時間戳 | 價值觀 |
---|---|
10-26-22 09.04 上午 | 1個 |
10-26-22 上午 10 點 | 5個 |
10-26-22 上午 10 點 06 分 | 6個 |
---------- | ---------- |
10-27-22 上午 3 點 31 分 | 9 |
10-27-22 下午 3 點 32 分 | 5個 |
10-27-22 下午 3 點 36 分 | 8個 |
------ | ---------- |
10-27-22 上午 3 點 37 分 | 8.23 |
10-28-22 上午 4 點 20 分 | 7.2 |
我想您需要深入了解時間戳,然后在使用 dataframe 上的 sort_values function 之前轉換格式。
您應該查看文檔。 這幾乎沒有實施。
您可以使用sort_values
的key
參數在內部使用to_datetime
和%m-%d-%y %H.%M %p
格式將字符串轉換為日期時間:
df.sort_values(by='Timestamp', key=lambda s: pd.to_datetime(s, format='%m-%d-%y %H.%M %p'))
Output:
Timestamp Values
1 10-26-22 09.04 AM 5.00
0 10-26-22 10.00 AM 1.00
2 10-26-22 10.06 AM 6.00
5 10-27-22 3.31 PM 8.00
3 10-27-22 3.32 AM 9.00
4 10-27-22 3.36 PM 5.00
6 10-27-22 3.37 AM 8.23
7 10-28-22 4.20 AM 7.20
或者,分配一個虛擬列:
(df.assign(key=pd.to_datetime(df['Timestamp'], format='%m-%d-%y %H.%M %p'))
.sort_values(by='key')
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.