使用Python在数据帧中舍入小时数

2024-09-27 23:16:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我用python创建了一个数据框,其中包含了每小时测量一次的植物数据。问题是,最初的目的是在每天的同一时间测量它们——10:00、11:00、12:00。。。 但在现实生活中,这些植物在时间上有点不同,所以现在我有太多的排。你知道吗

enter image description here

如你所见,植物D10A在一天的10:02,一天的10:09,10:14,10:17。。。。。。 我希望所有这些都在“10:00”以下,然后排得更少。你知道吗

我的最终目标是使用同一张桌子,但使用四舍五入的小时数,而不是确切的时间


Tags: 数据目的时间植物小时桌子小时数现实生活
1条回答
网友
1楼 · 发布于 2024-09-27 23:16:29
# 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

相关问题 更多 >

    热门问题