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

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

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

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

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

動圖封面

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

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

import pandas as pd  
 
wide_table=pd.read_excel(r'C:\Users\尚天強\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è)置對應的列名,轉(zhuǎn)為長表的數(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放入計算的值,然后重置索引,即可得到橫表的結(jié)果。

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

除此之外介紹一個SQL語法創(chuàng)建數(shù)據(jù)透視表的方法,這里導入pandasql庫,sum結(jié)合case when函數(shù)判斷計算列值,然后group by進行分組,即可得出如下的結(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ù)導出

本節(jié)的內(nèi)容相對比較簡單,熟練掌握縱表和橫表的相互轉(zhuǎn)化方法,以及數(shù)據(jù)透視的方法,可以讓數(shù)據(jù)清洗變得尤為簡單,數(shù)據(jù)表轉(zhuǎn)換后賦值變量,然后導出,數(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ù)導出 
write=pd.ExcelWriter(r'C:\Users\尚天強\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實現(xiàn)將橫表和縱表任意轉(zhuǎn)換的兩種方法的詳細內(nèi)容,更多關(guān)于Python橫表和縱表任意轉(zhuǎn)換的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python利用Canny算法檢測硬幣邊緣

    Python利用Canny算法檢測硬幣邊緣

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

    Python異常的檢測和處理方法

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

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

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

    修改Python?pip下載包的默認路徑詳細步驟記錄

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

    Python編寫一個圖片自動播放工具(過程詳解)

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

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

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

    Python簡單操作sqlite3的方法示例

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

    Python編程對列表中字典元素進行排序的方法詳解

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

    Python GUI編程完整示例

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

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

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

最新評論

九龙坡区| 平湖市| 鲁山县| 项城市| 伊吾县| 朝阳市| 通州市| 瑞安市| 兴宁市| 绥阳县| 柯坪县| 张家口市| 将乐县| 腾冲县| 闸北区| 淮南市| 康马县| 阿坝| 徐水县| 青阳县| 新干县| 威信县| 威远县| 邵阳县| 宁乡县| 鄂托克旗| 曲麻莱县| 班玛县| 扎囊县| 晴隆县| 平潭县| 冀州市| 六盘水市| 徐闻县| 土默特左旗| 清原| 罗甸县| 梨树县| 利津县| 桃江县| 大渡口区|