簡體   English   中英

Pandas 日期時間數據框

[英]Pandas Date Time Data Frame

Python 相對較新。我不認為這是重復的,因為我沒有找到我正在尋找的答案。

我有以下 dataframe,其中包含 datetime64 格式的“日期”和以攝氏度為單位的平均溫度作為 float64。 我有 18 年(1990 年到 2018 年)的每日記錄,我應該收集這 18 年中每一年的最高溫度。

Date    Average Daily Value
0   1990-01-01  8.88330
1   1990-01-02  9.11045
2   1990-01-03  10.93545
3   1990-01-04  3.69165
4   1990-01-05  6.03955
... ... ...
10567   2018-12-27  6.20830
10568   2018-12-28  7.05420
10569   2018-12-29  2.68330
10570   2018-12-30  14.49580
10571   2018-12-31  4.74170

year = set(df['Date'].dt.year.to_list()); years = list(years)

years = [1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 
2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018]

我已經設法列出了年份,我希望用它來遍歷數據,但我不確定如何做。 我嘗試使用 for 循環,但它只返回整個數據集的最高值,而不是每年的最高值。

任何幫助都會很棒。 謝謝。

您需要先按年份分組,然后獲取最大值:

例子:

import numpy as np
import pandas as pd

df = pd.read_csv('test.csv', converters={'date': pd.to_datetime})

df['years'] = df['date'].dt.year

grouped_df = df.groupby('years')

max_temp = grouped_df.max('temp')
max_temp

Output 與我的測試集:

       temp
years   
2018     14
2019     12
2020     11

暫無
暫無

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

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