pandas Python:将每日列表集成到带有小时索引的df中

cuxqih21  于 2022-11-05  发布在  Python
关注(0)|答案(2)|浏览(176)

我有每日的weather数据:

rain (mm)
date
01/01/2022   0.0
02/01/2022   0.5
03/01/2022   2.0
...

我有另一个按小时细分的表(df

value
datetime
01/01/2022 01:00       x
01/01/2022 02:00       x
01/01/2022 03:00       x
...

我想这样加入他们:

value   rain
datetime
01/01/2022 01:00       x    0.0
01/01/2022 02:00       x    0.0
01/01/2022 03:00       x    0.0
...
02/01/2022 01:00       x    0.5
02/01/2022 02:00       x    0.5
02/01/2022 03:00       x    0.5
...
03/01/2022 01:00       x    2.0
03/01/2022 02:00       x    2.0
03/01/2022 03:00       x    2.0
...

(nb:所有日期均为d%/m%/Y%格式,并且所有日期均为各自df的索引)
我肯定有一个直接的解决方案,但我找不到它...提前感谢任何帮助!

eaf3rand

eaf3rand1#

您可能需要对weather重新采样,然后连接df

weather = weather.resample("H").ffill()
df_out = weather.join(df)

这将保留weather的重采样索引,您可能希望保留df索引或交集,或者所有索引。请查看doc和kwarg how
输出(默认值how="left"):

rain (mm) value
date                                
2022-01-01 00:00:00        0.0   NaN
2022-01-01 01:00:00        0.0     x
2022-01-01 02:00:00        0.0     x
2022-01-01 03:00:00        0.0     x
2022-01-01 04:00:00        0.0   NaN
...                        ...   ...
2022-02-28 20:00:00        0.5   NaN
2022-02-28 21:00:00        0.5   NaN
2022-02-28 22:00:00        0.5   NaN
2022-02-28 23:00:00        0.5   NaN
2022-03-01 00:00:00        2.0   NaN
nnsrf1az

nnsrf1az2#

假设第一个 Dataframe 命名为“天气”,第二个命名为“df”。
让我们试试下面的代码:

df['rain']=[weather['rain (mm)'][i] for i in df.index]

相关问题