我试图得到一年中每一天的最小值,数据来自十年的跨度。首先,我删除了闰日(我已经测试过它是有效的,有29-02天),但是当我把它们分组并得到最低温度时,结果是366行,没有一行是0!在
当我只对一年的数据进行分组时,结果是365行,我用闰年和非闰年测试过,结果都是365行,问题是把不同年份的数据放在一起,总是给我366行。有什么线索吗?在
df = df[~df['Date'].str.endswith('02-29')]
# print(df.sort_values(by='Date'))
df['Date'] = pd.to_datetime(df['Date'])
#I have also tried with this, same result
#df = df[~((df['Date'].dt.day==29)&(df['Date'].dt.month==2))]
temp_max = df[(df['Element'] == 'TMAX') & (df['Date'] > '01-01-2005') & (df['Date'] < '31-12-2014')].groupby(
[df['Date'].dt.dayofyear]).agg(np.max)['Data_Value']
我首先使用string函数删除闰日,然后将其转换为datetime格式,但是这样做很好
从输入这个:
^{pr2}$我明白了
ID Date Element Data_Value
0 SPE00120107 2009-05-31 TMAX 313
1 SP000003195 2015-09-10 TMIN 174
2 SPE00120107 2015-08-02 TMIN 148
3 SPE00120107 2009-05-31 TMIN 99
4 SPE00120287 2010-12-17 TMIN -55
47304
ID Date Element Data_Value
0 SPE00120107 2009-05-31 TMAX 313
1 SP000003195 2015-09-10 TMIN 174
2 SPE00120107 2015-08-02 TMIN 148
3 SPE00120107 2009-05-31 TMIN 99
4 SPE00120287 2010-12-17 TMIN -55
47280
谢谢你的帮助!在
目前没有回答
相关问题 更多 >
编程相关推荐