Getting wrong values after merging two dataframe on datetime

人走茶凉 提交于 2021-01-29 08:47:02

问题


I want to merge a time serie of % humidity with a range of datetime created as expected, to fill missing records (or rows) with NaN and obtain a time serie based on 15min records (as long as the sensor is designed for).

Data of humidity following recorded datetime :

humdt = pd.DataFrame(data = data["la-salade"][["datetime","humidite"]])

               datetime  humidite
0   2019-07-09 08:30:00        87
1   2019-07-09 11:00:00        87
2   2019-07-09 17:30:00        82
3   2019-07-09 23:30:00        80
4   2019-07-11 06:15:00        79
5   2019-07-19 14:30:00        39

Recreated range of expected datetime :

date_rng = pd.period_range(start=debut, end=fin, freq='15min').strftime('%Y-%m-%d %H:%M:%S')
date_rng = pd.DataFrame(date_rng)
date_rng.columns = ["datetime"]               

datetime
0   2019-07-09 08:30:00
1   2019-07-09 08:45:00
2   2019-07-09 09:00:00
3   2019-07-09 09:15:00
4   2019-07-09 09:30:00
5   2019-07-09 09:45:00

Merging expected vs recorded in order to obtain a consistent dataframe in terms of datetime (missing values are expected as NaN) :

merge_left = date_rng.merge(humdt, how="left", left_on="datetime", right_on="datetime")

               datetime  humidite
0   2019-07-09 08:30:00      87.0
1   2019-07-09 08:45:00      88.0
2   2019-07-09 09:00:00      88.0
3   2019-07-09 09:15:00      88.0
4   2019-07-09 09:30:00      89.0
5   2019-07-09 09:45:00      89.0
6   2019-07-09 10:00:00      88.0
7   2019-07-09 10:15:00      88.0
8   2019-07-09 10:30:00      88.0
9   2019-07-09 10:45:00      88.0
10  2019-07-09 11:00:00      87.0

Here is an example of dysfunctionning merging. Instead of NaN, values are added and I have no clue how... not even an linear interpolation (between 87 from 08H30 and 87 from 11H).

Can you help me please ? I also posted about trying to use resampling with 15min frequency but get other problems. Thank you. Emilie

来源:https://stackoverflow.com/questions/61807559/getting-wrong-values-after-merging-two-dataframe-on-datetime

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!