第7章 数据规整化:清理、转换、合并、重塑(4)

本章介绍数据规整化的第四部分,主要讲解如何将时间序列的长格式数据转换为宽格式。内容包括使用pivot方法将具有多个属性值的长格式数据,如date和item,转换为以date为索引,不同item值为列的宽格式数据结构。
摘要由CSDN通过智能技术生成

第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,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值