如何使用 Pandas 每半小时将其他列包含在数据框中以每天重新采样?

How do I include other columns in dataframe half hourly to daily resample using Pandas?

我有一个以半小时为间隔格式化的天气数据框(在下面简化):

df = pd.DataFrame({ 'date': ['2019-01-01 09:30:00', '2019-01-01 10:00', '2019-01-02 04:30:00','2019-01-02 05:00:00','2019-01-04 02:00:00'],
                   'temp': [15.2,18.0,4.5,4.5,6.5],
                  'windSpeedMax': [20,90,35,45,15],
                   'windSpeedMax_Dir':['NE','SE','SW','W','S']})

我的目标是每天获取最大风和风的方向。使用 pandas:

df['date'] = pd.to_datetime(df['date'])
df = df[~df['windSpeedHigh'].isin(['--'])]
df['windSpeedHigh'] = pd.to_numeric(df['windSpeedHigh'])
df_daily = df.resample('D', on='date').agg({'windSpeedHigh': max})

我的结果是:

            windSpeedHigh
date                     
2019-01-01           90.0
2019-01-02           45.0
2019-01-03            NaN
2019-01-04           15.0

只求每天的最大风速

我的预期结果还需要包括最大风的方向:

            windSpeedHigh    windSpeedHigh
date                     
2019-01-01           90.0    SE
2019-01-02           45.0    W
2019-01-03            NaN    NaN
2019-01-04           15.0    S

你可以做到 groupby().idxmax():

idx = df.groupby(df['date'].dt.normalize())['windSpeedHigh'].idxmax()
df.loc[idx]