數(shù)據(jù)分析—如何將一個(gè)二維表格轉(zhuǎn)成一維表格(Excel&Pandas-melt實(shí)現(xiàn))

【導(dǎo)語】數(shù)據(jù)分析的時(shí)候經(jīng)常要把寬數(shù)據(jù)轉(zhuǎn)變成長(zhǎng)數(shù)據(jù),本文將呈現(xiàn)兩種解決方案。一種是Excel的逆透視,另一種是Pandas的melt方法。數(shù)據(jù)量小選擇excel,數(shù)據(jù)量大可用Pandas。現(xiàn)在我們將各個(gè)城市的年份二維數(shù)據(jù)轉(zhuǎn)換成一維,最終實(shí)現(xiàn)效果如下:


一、逆透視

1、首先我們打開excel,選中數(shù)據(jù),按住Alt鍵,依次點(diǎn)擊D,P 將彈出數(shù)據(jù)透視表向?qū)?duì)話框,選擇”多重合并計(jì)算數(shù)據(jù)區(qū)域”,點(diǎn)擊下一步:如下所示:
2、選擇”創(chuàng)建單頁字段”,點(diǎn)擊下一步
3、拖動(dòng)鼠標(biāo),選定區(qū)域,點(diǎn)擊”添加”按鈕,下一步
4、選擇數(shù)據(jù)透視表顯示位置”新工作表”,點(diǎn)擊”完成”按鈕
5、在新工作表中生成數(shù)據(jù)透視表,雙擊右下角總計(jì)的數(shù)字
6、在新的工作表中自動(dòng)生成了我們需要的表格,可以刪除多余的字段,重命名現(xiàn)有的字段,完成

二、melt 方法

1、pandas.melt 使用參數(shù):

pandas.melt(frame, id_vars=None, value_vars=None, var_name=None, value_name='value', col_level=None)

參數(shù)解釋:

  • frame:要處理的數(shù)據(jù)集。
  • id_vars:不需要被轉(zhuǎn)換的列名。
  • value_vars:需要轉(zhuǎn)換的列名,如果剩下的列全部都要轉(zhuǎn)換,就不用寫了。
  • var_name和value_name是自定義設(shè)置對(duì)應(yīng)的列名。
  • col_level :如果列是MultiIndex,則使用此級(jí)別。
2、代碼實(shí)現(xiàn)
import pandas as pd
# 讀取數(shù)據(jù)
data = pd.read_excel('C:/Users/cherich/Desktop/q.xlsx',index_col=0)
data
#重置索引
data1=data.reset_index()
data1
#index保留,并把轉(zhuǎn)換后的列命名為'year',value命名為'stu_num'
data2=data1.melt(id_vars='index', var_name='year',value_name='stu_num')
data2
data2.to_excel('./qq.xlsx',index=False)

上面我們通過melt完成和excel同樣的效果,那么我們了解melt的實(shí)現(xiàn)原理之后,可簡(jiǎn)寫如下:

datas=data.reset_index().melt('index', var_name='col').set_index('index')

希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,每天進(jìn)步一點(diǎn)點(diǎn),加油?。

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

相關(guān)閱讀更多精彩內(nèi)容

  • 引言 原始的數(shù)據(jù)有時(shí)候是一串文字(過度聚合),有時(shí)候是分散在多個(gè)位置的分離文件(過于分散)。數(shù)據(jù)的預(yù)處理就是要把原...
    DDuncan閱讀 1,008評(píng)論 0 0
  • 整理歸納在Python中使用對(duì)數(shù)據(jù)處理的常用方法,包括與HDFS文件的讀寫,主要是怕用的時(shí)候記不住,容易搞混,再搜...
    shohokuooo閱讀 4,393評(píng)論 0 50
  • 導(dǎo)入數(shù)據(jù) pd.read_csv(filename,encoding='gbk',sep='\t'):從CSV文件...
    dingtom閱讀 315評(píng)論 0 0
  • 玩過Excel的都知道excel里面有個(gè)非常好用的分類匯總進(jìn)行數(shù)據(jù)展示的功能——pivot table,即數(shù)據(jù)透視...
    木頭里有蟲911閱讀 1,595評(píng)論 0 9
  • 一、Pandas數(shù)據(jù)結(jié)構(gòu) 1、import pandas as pd import numpy as np ...
    呵呵打哈哈閱讀 338評(píng)論 0 0

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