python面板数据分析代码_用python预处理面板数据(续)

大道至简,大音希声,大象无形。

依然是面板数据预处理问题。

这次总结经验,简化方法,用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")

本文链接:https://my.lmcjl.com/post/4759.html

展开阅读全文

4 评论

留下您的评论.