用python預(yù)處理面板數(shù)據(jù)(續(xù))

大道至簡,大音希聲,大象無形。

依然是面板數(shù)據(jù)預(yù)處理問題。
這次總結(jié)經(jīng)驗,簡化方法,用list規(guī)避了惱人的合并索引不匹配。
面對棘手的問題,最好的方法可能正是最簡單暴力的方法,所謂快刀斬亂麻是也。
只要能解決問題,又何苦老是整些有的沒的給自己挖坑?(身處坑底的我一臉認(rèn)真的說)

原始數(shù)據(jù)格式:”和我一樣的還有4個“

處理后效果

處理后效果(續(xù))

舒服了

代碼請參考:

# -*- 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("貨運周轉(zhuǎn)量.xls")
data3 = rs("固定資產(chǎn)投資.xls")
data4 = rs("郵電業(yè)務(wù)量.xls")
data5 = rs("技術(shù)市場成交額.xls")

# 年份
years = [2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016]
years = years*31
years = sorted(years)

# 地區(qū)編號,省份
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 = [
'北京',
'天津',
'河北',
'山西',
'內(nèi)蒙古',
'遼寧',
'吉林',
'黑龍江',
'上海',
'江蘇',
'浙江',
'安徽',
'福建',
'江西',
'山東',
'河南',
'湖北',
'湖南',
'廣東',
'廣西',
'海南',
'重慶',
'四川',
'貴州',
'云南',
'西藏',
'陜西',
'甘肅',
'青海',
'寧夏',
'新疆'
]

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"防止出現(xiàn)亂碼
data.to_csv('effect.csv', index=False,encoding="utf-8-sig")

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容