我正面临着熊猫数据处理的问题。实际上,我的Dataframe包含3列:DATE_TIME、SITE_NB、VALUE。对于某些SITE_NB,有缺少的行。例如:
DATE_TIME;SITE_NB; VALUE
2011-01-03 01:00; 1; 10.7
2011-01-03 04:00; 1; 3.2
2011-01-03 05:00; 1; -2.1因此,在这里,2011-01-03 00:00、2011-01-03 02:00和2011-01-03 03:00的行丢失了。我想要的是用相同的SITE_NB (=1)和VALUE (=NaN)添加这些行
我想对我的数据中的所有不同的SITE_NB做同样的事情。因此,对于每个SITE_NB,根据频率为1小时的DATE_TIME添加缺少的行,并在VALUE中添加新添加的行的NaN。
我试过重采样,但没有得到正确的输出.
有人能帮我解决这个问题吗?
谢谢!
发布于 2018-09-23 16:47:58
若要添加缺少的索引,请使用:
full_idx = pd.date_range(start='<start_date>', end='<end_date>', freq='H')
df.reindex(full_idx)这将使NaN在SITE_NB和VALUE列中。
如果每个dataframe只有一个SITE_NB值,则可以使用:
df['SITE_NB'].fillna(df['SITE_NB'].unique()[0], inplace=True)它用列中的第一个非空值替换所有NaN。
如果您实际上有一个具有多个SITE_NB值的数据,那么请您展示一下它是什么样的吗?在某些情况下,时间指数是否重叠?
而且,这个答案可能对您有用:https://stackoverflow.com/questions/32275540/pandas-reindex-dates-in-groupby
https://datascience.stackexchange.com/questions/38681
复制相似问题