美文网首页
用python预处理面板数据(续)

用python预处理面板数据(续)

作者: 伏星宇 | 来源:发表于2019-10-21 00:17 被阅读0次
    大道至简,大音希声,大象无形。

    依然是面板数据预处理问题。
    这次总结经验,简化方法,用list规避了恼人的合并索引不匹配。
    面对棘手的问题,最好的方法可能正是最简单暴力的方法,所谓快刀斩乱麻是也。
    只要能解决问题,又何苦老是整些有的没的给自己挖坑?(身处坑底的我一脸认真的说)

    原始数据格式:”和我一样的还有4个“
    处理后效果
    处理后效果(续)
    舒服了

    代码请参考:

    # -*- coding: utf-8 -*-  
    # 感谢pandas救我🐕命
    import pandas as pd
    
    # 拼接
    def rs(filepath):
        df = pd.read_excel(filepath,sheet_name=0)
        df.columns = ['region', '2016','2015','2014', '2013','2012','2011', '2010','2009','2008']
        df = df.drop(labels = ['region'], axis=1)
        l = pd.Series()
        for i in range(1, 10):
            l = pd.concat([l, df.iloc[:,9-i]])
        l = list(l)
        return(l)
    
    
    data1 = rs("客运量.xls")
    data2 = rs("货运周转量.xls")
    data3 = rs("固定资产投资.xls")
    data4 = rs("邮电业务量.xls")
    data5 = rs("技术市场成交额.xls")
    
    # 年份
    years = [2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016]
    years = years*31
    years = sorted(years)
    
    # 地区编号,省份
    rg=[
    1,
    2,
    3,
    4,
    5,
    6,
    7,
    8,
    9,
    10,
    11,
    12,
    13,
    14,
    15,
    16,
    17,
    18,
    19,
    20,
    21,
    22,
    23,
    24,
    25,
    26,
    27,
    28,
    29,
    30,
    31,
    ]
    prv = [
    '北京',
    '天津',
    '河北',
    '山西',
    '内蒙古',
    '辽宁',
    '吉林',
    '黑龙江',
    '上海',
    '江苏',
    '浙江',
    '安徽',
    '福建',
    '江西',
    '山东',
    '河南',
    '湖北',
    '湖南',
    '广东',
    '广西',
    '海南',
    '重庆',
    '四川',
    '贵州',
    '云南',
    '西藏',
    '陕西',
    '甘肃',
    '青海',
    '宁夏',
    '新疆'
    ]
    
    rg = rg*9
    prv = prv*9
    
    # 输出
    data = pd.DataFrame({
        'region': rg,
        'prv'   : prv,
        'years' : years,
        'pop'   : data1,
        'cmd'   : data2,
        'fin'   : data3,
        'inf'   : data4,
        'tec'   : data5,
    })
    # 用encoding="utf-8-sig"防止出现乱码
    data.to_csv('effect.csv', index=False,encoding="utf-8-sig")
    
    

    相关文章

      网友评论

          本文标题:用python预处理面板数据(续)

          本文链接:https://www.haomeiwen.com/subject/jmlzmctx.html