Tarihler tarafından tarihler tarafından girilen ve gözlemlerin tamsayı sayısına karşılık gelen değerlere sahip bir sözlük adı date_dict var. Bunu, sürekli tarihlerle birlikte bir seriye/veri çerçevesine katılmak veya dönüştürmek istediğim sansürlenmiş gözlemlerle seyrek bir seri/dataframe dönüştürüyorum. Kötü liste anlayışı, pandaların, otomatik olarak tarihler arası tarih nesnelerini uygun bir DateTime endeksine otomatik olarak gizlemeyecekleri gerçeğini ortadan kaldırmaya çalışmamdır.Sürekli pandalar veri çerçevesini seyrek veri çerçevesinden doldurma
df1 = pd.DataFrame(data=date_dict.values(),
index=[datetime.datetime.combine(i, datetime.time())
for i in date_dict.keys()],
columns=['Name'])
df1 = df1.sort(axis=0)
Bu örnek 1258 gözlem vardır ve DateTime endeksi 2003-06-24 den 2012-11-07 çalışır.
df1.head()
Name
Date
2003-06-24 2
2003-08-13 1
2003-08-19 2
2003-08-22 1
2003-08-24 5
Ben sürekli DateTime indeksi boş dataframe oluşturabilirsiniz, ancak bu gereksiz bir sütunu tanıtır ve aksak görünüyor. Bir katılımı içeren daha zarif bir çözümü kaçırıyormuş gibi hissediyorum. (1) sürekli bir indeks, (2) NaN'ler 0sn, ve (3) hiçbir orada yoktur, böylece
df2 = pd.DataFrame(data=None,columns=['Empty'],
index=pd.DateRange(min(date_dict.keys()),
max(date_dict.keys())))
df3 = df1.join(df2,how='right')
df3.head()
Name Empty
2003-06-24 2 NaN
2003-06-25 NaN NaN
2003-06-26 NaN NaN
2003-06-27 NaN NaN
2003-06-30 NaN NaN
seyrek dataframe gelen sürekli bir dataframe doldurmak için daha basit ya da daha şık bir yolu var mı Dataframe'de soldaki boş sütun?
Name
2003-06-24 2
2003-06-25 0
2003-06-26 0
2003-06-27 0
2003-06-30 0
Teşekkürler! ts.reindex (pd.date_range (dk (date_index), max (date_index)), fill_value = 0) kullandım –