2016-01-09 29 views
7

Bir yıl içinde ayların son günü olan index datetime ile bir CSV dosyası yükledim. Eksik tarihleri ​​boş değerlerle satır olarak doldurmak istedim. TakipVerifotoğrafında eksik tarih dizini ekle

benim CSV dosyası yapısı

Ben boş sütunlarla bir ay içinde tüm tarihleri ​​doldurmak istiyor
Date Australia China 
2011-01-31 4.75 5.81 
2011-02-28 4.75 5.81 
2011-03-31 4.75 6.06 
2011-04-30 4.75 6.06 

olduğunu.

Aşağıdaki kodu denedim ama çalışmıyor.

import pandas as pd 
df = pd.read_csv("data.csv", index_col="Date") 
df.reindex(pd.date_range("2011-01-01", "2011-10-31"), fill_value="NaN") 

cevap

6

Sen dataframe üzerinde DatetimeIndex ayarlamak zorunda, bu yüzden içine kodunu değiştirmek olacaktır:

import pandas as pd 
df = pd.read_csv("data.csv", index_col="Date") 
df.index = pd.DatetimeIndex(df.index) 
df = df.reindex(pd.date_range("2011-01-01", "2011-10-31"), fill_value="NaN") 
df.to_csv('test.csv') 

Bu çalışması gerekir.

DÜZENLEME: Yardım için

... 
2011-01-24,NaN,NaN 
2011-01-25,NaN,NaN 
2011-01-26,NaN,NaN 
2011-01-27,NaN,NaN 
2011-01-28,NaN,NaN 
2011-01-29,NaN,NaN 
2011-01-30,NaN,NaN 
2011-01-31,4.75,5.81 
2011-02-01,NaN,NaN 
2011-02-02,NaN,NaN 
2011-02-03,NaN,NaN 
2011-02-04,NaN,NaN 
2011-02-05,NaN,NaN 
2011-02-06,NaN,NaN 
... 
+0

Teşekkür: Örnek test çıkışını ekleyin! benim için mükemmel çalışıyor. – Unnikrishnan

+0

@Unnikrishnan'a hoş geldiniz, lütfen amacınız için iyi çalışırsa cevabınızı gözden geçirmeyi düşünün. –

+0

Bir ek çizgi problemi çözdüğünde her zaman hoş olur. –