[英]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.