1.讀入csv文件
novels_month = pd.read_csv(csv_path)
2.生成時間索引
#2004-12-1是時間序列開始的時間,並以月爲間隔
rng = pd.date_range('2004-12-1', periods = int((pd.Period(novels_month.iloc[-1,0],'M') - pd.Period('2004-12-1','M')).freqstr[0:-1]), freq = 'M') + pd.Timedelta('1 day')
s = pd.Series(rng)
3.生成一個空的DataFrame
empty = pd.DataFrame([],columns=["update_date","rating_total"])
empty["update_date"] = s
empty
4.填充DataFrame
#這裏是使用的臨近值進行填充
c_list = list(novels_month[0]["update_date"]);
counter = 2 #novels_month的第一個非空值的位置
for i in range(len(empty)):
f_val = str(pd.Period(empty.iloc[i,0],'M'))
if f_val in c_list:
val = novels_month[0].iloc[c_list.index(f_val),1]
empty.iloc[i,1] = val
counter = c_list.index(f_val)
else:
#將值填充爲最鄰近的一個值
empty.iloc[i,1] = novels_month[0].iloc[counter,1]
5.重新保存csv文件
empty.to_csv(os.path.join(NOVEL_PATH,"test.csv"), index_label="index_label")
6.補充
使用fillna進行值的填充
# 通過fillna填充缺失值
# https://www.jianshu.com/p/79086fa52803
median = housing["total_bedrooms"].median() sample_incomplete_rows["total_bedrooms"].fillna(median, inplace=True) # option 3 sample_incomplete_rows