# here is the piece of your dataframe:
6/17/2019 6/18/2019
plant Hour
D10A 10:02 NaN NaN
10:09 NaN 0.33
10:14 NaN NaN
10:17 0.777 NaN
10:19 NaN NaN
col = df.columns
df = df.reset_index()
df['hr'] = pd.to_datetime(df['Hour']).apply(lambda x: x.hour)
df.fillna(0).groupby(['plant','hr'])[col].max()
Out[1]:
6/17/2019 6/18/2019
plant hr
D10A 10 0.777 0.33
Upd:仅四舍五入小时,代码如下:
col = df.columns
df = df.reset_index()
df['Hour'] = pd.to_datetime(df['Hour']).apply(lambda x: str(x.hour) + ':00')
df.set_index(['plant', 'Hour'])[col]
Out[2]:
6/17/2019 6/18/2019
plant Hour
D10A 10:00 NaN NaN
10:00 NaN 0.33
10:00 NaN NaN
10:00 0.777 NaN
10:00 NaN NaN
Upd:仅四舍五入小时,代码如下:
相关问题 更多 >
编程相关推荐