最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實(shí)現(xiàn)將橫表和縱表任意轉(zhuǎn)換的兩種方法

 更新時(shí)間:2023年12月28日 10:18:30   作者:大話數(shù)據(jù)分析  
在日常做數(shù)據(jù)分析,接收到最多的表格是縱表,每個(gè)字段變量都有很長(zhǎng)數(shù)據(jù)的長(zhǎng)表,我們稱之為縱向數(shù)據(jù),但是,有時(shí)候,我們也會(huì)遇到橫表,對(duì)于橫向數(shù)據(jù),我們會(huì)數(shù)據(jù)轉(zhuǎn)化,將其轉(zhuǎn)化為縱向數(shù)據(jù),感興趣的同學(xué)跟著小編一起來學(xué)習(xí)吧

我們?nèi)粘W鰯?shù)據(jù)分析,接收到最多的表格是縱表,每個(gè)字段變量都有很長(zhǎng)數(shù)據(jù)的長(zhǎng)表,我們稱之為縱向數(shù)據(jù),但是,有時(shí)候,我們也會(huì)遇到橫表,稱之為橫向數(shù)據(jù),對(duì)于橫向數(shù)據(jù),我們會(huì)數(shù)據(jù)轉(zhuǎn)化,將其轉(zhuǎn)化為縱向數(shù)據(jù)進(jìn)行數(shù)據(jù)處理,下面一起來學(xué)習(xí)。

示例工具:anconda3.7
本文講解內(nèi)容:pandas數(shù)據(jù)重塑
適用范圍:在Python橫表與縱表轉(zhuǎn)化

動(dòng)圖封面

首先導(dǎo)入我們本次案例使用的橫向數(shù)據(jù),從這里看出,橫向數(shù)據(jù)類似于Excel數(shù)據(jù)透視表得出的表,將''季度''這個(gè)字段拖入到列,就會(huì)得到橫表。

導(dǎo)入橫向數(shù)據(jù)如下,包含城市、年份等字段。

import pandas as pd  
 
wide_table=pd.read_excel(r'C:\Users\尚天強(qiáng)\Desktop\各城市銷量橫向數(shù)據(jù).xlsx') 
wide_table

橫表轉(zhuǎn)縱表

橫表轉(zhuǎn)縱表這里介紹兩種方法,一種是melt()方法,另一種是stack()方法,在melt()的參數(shù)中id_vars表示不需要被轉(zhuǎn)換的列名,除此之外剩下的列全部都要轉(zhuǎn)換,就不用寫了,var_name和value_name是自定義設(shè)置對(duì)應(yīng)的列名,轉(zhuǎn)為長(zhǎng)表的數(shù)據(jù)如下所示。

long_table=wide_table.melt(id_vars=["城市","年份"],var_name="季度",value_name="銷售量") 
long_table=long_table.sort_values(by=["城市","年份","銷售量"],ascending=False) 
long_table

使用stack()方法,首先將'城市','年份'設(shè)置為這組數(shù)據(jù)的索引,然后stack()將列索引轉(zhuǎn)換為行索引,最后reset_index()重置索引,修改一下列名,即可的得到與上面一樣的結(jié)果。

long_table=wide_table.set_index(['城市','年份']).stack().reset_index() 
long_table.columns=['城市','年份','季度','銷售量'] 
long_table

縱表轉(zhuǎn)橫表

縱表轉(zhuǎn)橫表就是使用前面介紹的數(shù)據(jù)透視的方法,看看Python如何做數(shù)據(jù)透視,這里使用pivot_table(),與Excel數(shù)據(jù)透視表類似,index放入行值,columns放入列值,values放入計(jì)算的值,然后重置索引,即可得到橫表的結(jié)果。

wide_table=long_table.pivot_table(index=['城市','年份'],columns='季度',values='銷售量').reset_index() 
wide_table=wide_table[['城市','年份','第一季度','第二季度','第三季度','第四季度']] 
wide_table

除此之外介紹一個(gè)SQL語(yǔ)法創(chuàng)建數(shù)據(jù)透視表的方法,這里導(dǎo)入pandasql庫(kù),sum結(jié)合case when函數(shù)判斷計(jì)算列值,然后group by進(jìn)行分組,即可得出如下的結(jié)果。

import pandasql as sql 
 
sql.sqldf("""select 城市,年份,
              sum(case when 季度="第一季度" then 銷售量 end) as "第一季度",
              sum(case when 季度="第二季度" then 銷售量 end) as "第二季度",
              sum(case when 季度="第三季度" then 銷售量 end) as "第三季度",
              sum(case when 季度="第四季度" then 銷售量 end) as "第四季度" 
              from long_table
              group by 城市,年份
              order by 年份;""")

數(shù)據(jù)導(dǎo)出

本節(jié)的內(nèi)容相對(duì)比較簡(jiǎn)單,熟練掌握縱表和橫表的相互轉(zhuǎn)化方法,以及數(shù)據(jù)透視的方法,可以讓數(shù)據(jù)清洗變得尤為簡(jiǎn)單,數(shù)據(jù)表轉(zhuǎn)換后賦值變量,然后導(dǎo)出,數(shù)據(jù)結(jié)果如下所示。

 table1=long_table
 table2=sql.sqldf("""select 城市,年份,
                     sum(case when 季度="第一季度" then 銷售量 end) as "第一季度",
                     sum(case when 季度="第二季度" then 銷售量 end) as "第二季度",
                     sum(case when 季度="第三季度" then 銷售量 end) as "第三季度",
                     sum(case when 季度="第四季度" then 銷售量 end) as "第四季度"
                     from long_table
                     group by 城市,年份
                     order by 年份;""")
 
#數(shù)據(jù)導(dǎo)出 
write=pd.ExcelWriter(r'C:\Users\尚天強(qiáng)\Desktop'+'\\Python轉(zhuǎn)置結(jié)果'+'.xlsx')
 
table1.to_excel(write,sheet_name='Python橫向轉(zhuǎn)縱向',index=False) 
table2.to_excel(write,sheet_name='Python縱向轉(zhuǎn)橫向',index=False)
 
write.save()
write.close()

以上就是Python實(shí)現(xiàn)將橫表和縱表任意轉(zhuǎn)換的兩種方法的詳細(xì)內(nèi)容,更多關(guān)于Python橫表和縱表任意轉(zhuǎn)換的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python利用Canny算法檢測(cè)硬幣邊緣

    Python利用Canny算法檢測(cè)硬幣邊緣

    這篇文章主要介紹了如何使用Canny算法檢測(cè)出紙面上硬幣的邊緣。文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起動(dòng)手試一試
    2022-01-01
  • Python異常的檢測(cè)和處理方法

    Python異常的檢測(cè)和處理方法

    今天小編就為大家分享一篇關(guān)于Python異常的檢測(cè)和處理方法,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • Python調(diào)用本地ollama大模型實(shí)現(xiàn)智能語(yǔ)音助手

    Python調(diào)用本地ollama大模型實(shí)現(xiàn)智能語(yǔ)音助手

    這篇文章主要為大家詳細(xì)介紹了Python如何調(diào)用本地ollama大模型實(shí)現(xiàn)智能語(yǔ)音助手,集成了語(yǔ)音錄制,語(yǔ)音識(shí)別等功能,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-05-05
  • 修改Python?pip下載包的默認(rèn)路徑詳細(xì)步驟記錄

    修改Python?pip下載包的默認(rèn)路徑詳細(xì)步驟記錄

    這篇文章主要介紹了如何修改pip的默認(rèn)安裝路徑以釋放C盤空間,特別是針對(duì)機(jī)器學(xué)習(xí)相關(guān)的大型包,可以將pip的安裝位置更改為其他目錄,需要的朋友可以參考下
    2025-03-03
  • Python編寫一個(gè)圖片自動(dòng)播放工具(過程詳解)

    Python編寫一個(gè)圖片自動(dòng)播放工具(過程詳解)

    使用Python和Pygame庫(kù),可以編寫一個(gè)圖片自動(dòng)播放工具,實(shí)現(xiàn)圖片的加載、自動(dòng)循環(huán)播放及用戶交互功能,工具支持暫停、繼續(xù)、手動(dòng)切換圖片和調(diào)整播放速度,適合在電腦上方便地瀏覽和展示圖片,感興趣的朋友跟隨小編一起看看吧
    2024-09-09
  • Python實(shí)現(xiàn)aes加密解密多種方法解析

    Python實(shí)現(xiàn)aes加密解密多種方法解析

    這篇文章主要介紹了Python實(shí)現(xiàn)aes加密解密多種方法解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • Python簡(jiǎn)單操作sqlite3的方法示例

    Python簡(jiǎn)單操作sqlite3的方法示例

    這篇文章主要介紹了Python簡(jiǎn)單操作sqlite3的方法,結(jié)合實(shí)例形式分析了Python針對(duì)sqlite3數(shù)據(jù)庫(kù)的讀取、創(chuàng)建、增刪改查等基本操作技巧,需要的朋友可以參考下
    2017-03-03
  • Python編程對(duì)列表中字典元素進(jìn)行排序的方法詳解

    Python編程對(duì)列表中字典元素進(jìn)行排序的方法詳解

    這篇文章主要介紹了Python編程對(duì)列表中字典元素進(jìn)行排序的方法,涉及Python針對(duì)列表及字典元素的遍歷、讀取、轉(zhuǎn)換相關(guān)操作技巧,需要的朋友可以參考下
    2017-05-05
  • Python GUI編程完整示例

    Python GUI編程完整示例

    這篇文章主要介紹了Python GUI編程,結(jié)合完整示例形式分析了Python基于tkinter模塊的GUI圖形界面編程相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2019-04-04
  • jupyter notebook 多環(huán)境conda kernel配置方式

    jupyter notebook 多環(huán)境conda kernel配置方式

    這篇文章主要介紹了jupyter notebook 多環(huán)境conda kernel配置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04

最新評(píng)論

紫云| 太保市| 寿光市| 崇州市| 靖远县| 富平县| 岗巴县| 岢岚县| 民丰县| 安西县| 泸定县| 霍邱县| 新营市| 鄄城县| 高安市| 山东省| 前郭尔| 淅川县| 武安市| 龙山县| 综艺| 湖南省| 忻州市| 巴中市| 武义县| 淳化县| 安义县| 石棉县| 金平| 连城县| 乐昌市| 隆化县| 永吉县| 北流市| 峨眉山市| 吉木萨尔县| 安新县| 新田县| 乌鲁木齐县| 富锦市| 通城县|