0
我有气象数据的数据帧:如何优化此数据帧筛选?
ID Date Element Data_Value
0 USW00094889 2014-11-12 TMAX 22
1 USC00208972 2009-04-29 TMIN 56
2 USC00200032 2008-05-26 TMAX 278
3 USC00205563 2005-11-11 TMAX 139
4 USC00200230 2014-02-27 TMAX -106
5 USW00014833 2010-10-01 TMAX 194
6 USC00207308 2010-06-29 TMIN 144
7 USC00203712 2005-10-04 TMAX 289
8 USW00004848 2007-12-14 TMIN -16
9 USC00200220 2011-04-21 TMAX 72
10 USC00205822 2013-01-16 TMAX 11
11 USC00205822 2008-05-29 TMIN 28
12 USC00203712 2008-10-17 TMIN 17
13 USC00205563 2006-05-14 TMAX 183
14 USC00200842 2006-05-14 TMAX 122
....
165083 USC00200230 2006-11-29 TMIN 117
我想提出两个列表 - 最小和最大温度的每一天。 我试图做的方法是通过使所有日期的列表: dates = df['Date'].unique()
,然后通过数据循环和附加价值,以这些名单:
for i in dates:
minT.append(df[(df['Date']==i) & (df['Element'] == 'TMIN')]['Data_Value'].min())
maxT.append(df[(df['Date']==i) & (df['Element'] == 'TMAX')]['Data_Value'].max())
我也试图通过日期和data_values排序的数据帧,并挑选出第一个在列表中最高,而去年为分:
df = df.sort_values(['Date','Data_Value'], ascending=False)
for i in dates:
minT.append(df[df['Date']==dates[0]]['Data_Value'].values[-1])
maxT.append(df[df['Date']==dates[0]]['Data_Value'].values[0])
,但一切仍需要reeeeeeeally长:(......可能有人请帮我做这个快