第7章 数据规整化:清理、转换、合并、重塑(4)
本章并未给出ldata的来源,可用macrodata.csv转出可用数据。
import pandas as pd
import numpy as np
import datetime ###后面用到时间处理
from pandas import Series,DataFrame
###读入macrodata.csv文件
data1 = pd.read_csv('E:\pydata-book-2nd-edition\pydata-book-2nd-edition\examples\macrodata.csv')
#####选择有用列,其中quarter表示季度,用于合成日期
data2 = DataFrame(data1,columns=['year','quarter','realgdp','infl','unemp'])
####将季度转为日期,对应关系为:1 = 3.31,2 = 6.30,3 = 9.30,4 = 12.31
for i in range(len(data2.index)):
if data2.ix[i,'quarter'] == 1: ####选择DataFrame数据中i行'quarter'列的元素,注意ix[]方括号
data2.ix[i,'date'] = datetime.datetime(int(data2.ix[i,'year']),3,31)
#设置i行新增列'date'的值,时间格式用datetime.datetime(year,month,day)设置,
elif data2.ix[i,'quarter'] == 2:
data2.ix[i,'date'] = datetime.datetime(int(data2.ix[i,'year']),6,30)
elif data2.ix[i,'quarter'] == 3:
data2.ix[i,'date'] = datetime.datetime(int(data2.ix[i,'year']),9,30)
elif data2.ix[i,'quarter'] == 4:
data2.ix[i,