向数据框中添加缺失的行,并将其平均分配

向数据框中添加缺失的行,并将其平均分配

问题描述:

我使用自定义采样器函数对熊猫数据帧进行采样。 这基本上是由两列组成:向数据框中添加缺失的行,并将其平均分配

  • 时间戳

我想创建一个新的数据帧的所有平均分配的日期时间(即每10分钟)来填充采样值中的缺失值(以相同频率采样)。

Shoudl我需要使用reindex方法?

我试着这样做:

dd = pd.date_range(
     start_date.astimezone(pytz.utc), 
     end_date.astimezone(pytz.utc), 
     freq="3min" 

    ) 
dd = dd.map(lambda item: calendar.timegm(item.timetuple())) 
df.index = df.reindex(dd, fill_value="NaN") 

它只是不工作。由于两个索引的大小不同,我得到了“长度不匹配错误”。

这是正确的方法吗?

感谢,

FB

你可以用这个试试,我用comvibe_first合并两个数据帧。

start_date = datetime.datetime.today() 
end_date = datetime.datetime(2017, 10, 19) 
​ 
dd = pd.date_range(
     start_date, 
     end_date, 
     freq="3min" 
​ 
    ) 
dd = dd.map(lambda item: calendar.timegm(item.timetuple())) 
columns = ['some', 'column', 'headers'] 
df = pd.DataFrame(columns=columns, index=dd) 
myarray = np.random.random((len(dd),3)) 
for val, item in enumerate(myarray): 
    df.ix[df.index.values[val]] = item 
index_new = df.sample(frac=0.8, random_state=200) 
df = df.drop(index_new.index) 
df_ok = pd.DataFrame(columns=columns, index=dd) 
df_ok = df_ok.combine_first(df)