欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python制作數(shù)據(jù)分析透視表的方法詳解

 更新時(shí)間:2022年09月27日 09:21:47   作者:Sir 老王  
透視表是一種可以對(duì)數(shù)據(jù)動(dòng)態(tài)排布并且分類匯總的表格格式,在常用的python的數(shù)據(jù)分析非標(biāo)準(zhǔn)庫(kù)pandas中體現(xiàn)為pivot_table模塊。本文主要介紹了如何實(shí)現(xiàn)制作數(shù)據(jù)分析透視表,需要的可以參考一下

透視表是一種可以對(duì)數(shù)據(jù)動(dòng)態(tài)排布并且分類匯總的表格格式,在常用的python的數(shù)據(jù)分析非標(biāo)準(zhǔn)庫(kù)pandas中體現(xiàn)為pivot_table模塊。

pivot_table數(shù)據(jù)透視表可以靈活的定制數(shù)據(jù)分析需求進(jìn)行匯總,當(dāng)然在Excel辦公操作中早就存在了數(shù)據(jù)透視表的工具。如今,數(shù)據(jù)透視表被應(yīng)用在python語(yǔ)言中更是給我們帶來(lái)了大大地便利。

pivot_table有四個(gè)最重要的參數(shù)index、values、columns、aggfunc,通過設(shè)置不同的參數(shù)屬性從而完成不同的數(shù)據(jù)分析需求。

pivot_table是pandas非標(biāo)準(zhǔn)庫(kù)下面的數(shù)據(jù)透視表模塊,因此需要安裝pandas非標(biāo)準(zhǔn)庫(kù)。按照以往的慣例還是采用pip的方式來(lái)進(jìn)行安裝即可。

pip?install?pandas?-i?https://pypi.tuna.tsinghua.edu.cn/simple/

首先,使用傳統(tǒng)的excel讀取函數(shù)read_excel將Excel文件中的數(shù)據(jù)讀取出來(lái),讀取數(shù)據(jù)返回的是Dataframe格式的數(shù)據(jù)。

import?pandas?as?pd??#?導(dǎo)入pandas模塊

df?=?pd.read_excel('C:/test/data.xlsx')??#?讀取Excel數(shù)據(jù)文件

print(df.tail())??#?打印部分結(jié)果

#?????????????名稱??年齡????班級(jí)???成績(jī)??表現(xiàn)
#?21??Python?集中營(yíng)??24??1739??111??A+
#?22??Python?集中營(yíng)??25??1740??112??A+
#?23??Python?集中營(yíng)??26??1741??113??A+
#?24??Python?集中營(yíng)??27??1742??114??A+
#?25??Python?集中營(yíng)??28??1743??115??A+

1、pivot_table函數(shù)index屬性

我們通過pandas的read_excel函數(shù)已經(jīng)將Excel數(shù)據(jù)文件讀取并返回DataFrame數(shù)據(jù)對(duì)象。接下來(lái)通過數(shù)據(jù)透視表的方式來(lái)進(jìn)行數(shù)據(jù)匯總,先來(lái)看看使用index屬性是如何匯總結(jié)果的。

print(pd.pivot_table(df,?index=[u'名稱']))

#???????????????年齡?????成績(jī)??????班級(jí)
#?名稱
#?Python?集中營(yíng)??15.5??102.5??1730.5

上面我們只指定了一個(gè)索引'名稱'字段,從結(jié)果可以看出pivot_table函數(shù)自動(dòng)將名稱為'Python 集中營(yíng)'的值匯總了一下,并且將其他的數(shù)字屬性的字段全部計(jì)算得到了均值。

print(pd.pivot_table(df,?index=[u'名稱',?u'表現(xiàn)']))

#??????????????????年齡?????成績(jī)??????班級(jí)
#?名稱?????????表現(xiàn)
#?Python?集中營(yíng)?A+??15.5??102.5??1730.5

若是我們使用了兩個(gè)或是兩個(gè)以上的字段作為index的值則實(shí)際上會(huì)進(jìn)行兩次或兩次以上的分組,這里體現(xiàn)為先對(duì)'名稱'字段進(jìn)行分組、其次再對(duì)'表現(xiàn)'字段進(jìn)行分組。

2、pivot_table函數(shù)values屬性

values屬性即在使用時(shí)將指定的字段顯示出來(lái),因?yàn)橛械那闆r下并不需要將所有的字段都展示出來(lái)往往可能用到的是其中的幾個(gè)字段的值來(lái)參與運(yùn)算。

print(pd.pivot_table(df,?index=[u'表現(xiàn)'],?values=[u'班級(jí)',?u'成績(jī)']))

#????????成績(jī)??????班級(jí)
#?表現(xiàn)
#?A+??102.5??1730.5

需要注意的是values屬性只能用來(lái)指定具有數(shù)字屬性的字段,可能為了能夠更好的實(shí)現(xiàn)分組統(tǒng)計(jì)的效果吧!

3、pivot_table函數(shù)aggfunc屬性

aggfunc屬性則是對(duì)計(jì)算方式的設(shè)置,也可以同時(shí)設(shè)置好幾種計(jì)算方式將結(jié)果展示出來(lái)。在前面的統(tǒng)計(jì)中并沒有設(shè)置,默認(rèn)則是使用均值的算法來(lái)統(tǒng)計(jì)匯總信息的。

下面設(shè)置兩種的計(jì)算方式來(lái)統(tǒng)計(jì)我們之前的結(jié)果,一種還是均值、另一種則是求和的方式將兩種計(jì)算模式下的結(jié)果都統(tǒng)計(jì)出來(lái)。

print(pd.pivot_table(df,?index=[u'名稱'],?values=[u'年齡',?u'成績(jī)'],?aggfunc=['mean',?'sum']))

#????????????mean?????????sum
#???????????????年齡?????成績(jī)???年齡????成績(jī)
#?名稱
#?Python?集中營(yíng)??15.5??102.5??403??2665

可以發(fā)現(xiàn)匯總結(jié)果分別匯總出來(lái)了年齡和成績(jī)的平均值、總和,效果還是相當(dāng)理想的。

4、pivot_table函數(shù)columns屬性

columns屬性主要用來(lái)顯示字符類型的字段的,若是字段對(duì)應(yīng)的所在行沒有值時(shí)則可以使用fill_value函數(shù)來(lái)填充默認(rèn)值使數(shù)據(jù)變得完整,一般來(lái)說columns和fill_value是搭配使用的。

print(pd.pivot_table(df,?index=[u'名稱'],?values=[u'年齡',?u'成績(jī)'],?aggfunc=['mean',?'sum'],?columns=[u'表現(xiàn)'],
?????????????????????fill_value=0))

#?????????????mean?????????sum
#???????????????年齡?????成績(jī)???年齡????成績(jī)
#?表現(xiàn)????????????A+?????A+???A+????A+
#?名稱
#?Python?集中營(yíng)??15.5??102.5??403??2665

 到此這篇關(guān)于Python制作數(shù)據(jù)分析透視表的方法詳解的文章就介紹到這了,更多相關(guān)Python透視表內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python中第三方庫(kù)lxml庫(kù)的最新詳細(xì)安裝步驟

    python中第三方庫(kù)lxml庫(kù)的最新詳細(xì)安裝步驟

    這篇文章主要給大家介紹了關(guān)于python中第三方庫(kù)lxml庫(kù)的最新詳細(xì)安裝步驟,lxml是一種使用Python編寫的庫(kù),可以迅速、靈活地處理 XML,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-12-12
  • Python生成任意波形并存為txt的實(shí)現(xiàn)

    Python生成任意波形并存為txt的實(shí)現(xiàn)

    本文主要介紹了Python生成任意波形并存為txt的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • Python學(xué)習(xí)筆記之迭代器和生成器用法實(shí)例詳解

    Python學(xué)習(xí)筆記之迭代器和生成器用法實(shí)例詳解

    這篇文章主要介紹了Python學(xué)習(xí)筆記之迭代器和生成器用法,結(jié)合實(shí)例形式詳細(xì)分析了Python迭代器與生成器的功能、原理、定義及使用方法,需要的朋友可以參考下
    2019-08-08
  • Python 代碼性能優(yōu)化技巧分享

    Python 代碼性能優(yōu)化技巧分享

    選擇了腳本語(yǔ)言就要忍受其速度,這句話在某種程度上說明了 python 作為腳本的一個(gè)不足之處,那就是執(zhí)行效率和性能不夠理想,特別是在 performance 較差的機(jī)器上,因此有必要進(jìn)行一定的代碼優(yōu)化來(lái)提高程序的執(zhí)行效率
    2012-08-08
  • Python常用的模塊和簡(jiǎn)單用法

    Python常用的模塊和簡(jiǎn)單用法

    這篇文章主要給大家介紹Python#常用的模塊和簡(jiǎn)單用法,以random 隨機(jī)模塊展開話題,感興趣的小伙伴可以參考一下
    2021-10-10
  • Python中requirements.txt簡(jiǎn)介(推薦)

    Python中requirements.txt簡(jiǎn)介(推薦)

    Python項(xiàng)目中必須包含一個(gè)?requirements.txt?文件,用于記錄所有依賴包及其精確的版本號(hào),以便新環(huán)境部署,這篇文章主要介紹了Python中requirements.txt簡(jiǎn)介,需要的朋友可以參考下
    2022-11-11
  • Matplotlib實(shí)戰(zhàn)之柱狀圖繪制詳解

    Matplotlib實(shí)戰(zhàn)之柱狀圖繪制詳解

    柱狀圖,是一種使用矩形條,對(duì)不同類別進(jìn)行數(shù)值比較的統(tǒng)計(jì)圖表,這篇文章主要為大家詳細(xì)介紹了如何使用Matplotlib繪制柱狀圖,需要的可以參考下
    2023-08-08
  • Python的None和C++的NULL用法解讀

    Python的None和C++的NULL用法解讀

    這篇文章主要介紹了Python的None和C++的NULL用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • Python爬蟲實(shí)戰(zhàn)演練之采集拉鉤網(wǎng)招聘信息數(shù)據(jù)

    Python爬蟲實(shí)戰(zhàn)演練之采集拉鉤網(wǎng)招聘信息數(shù)據(jù)

    讀萬(wàn)卷書不如行萬(wàn)里路,只學(xué)書上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用Python采集拉鉤網(wǎng)招聘信息數(shù)據(jù),大家可以在過程中查缺補(bǔ)漏,提升水平
    2021-10-10
  • python實(shí)現(xiàn)微信打飛機(jī)游戲

    python實(shí)現(xiàn)微信打飛機(jī)游戲

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)微信打飛機(jī)游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-03-03

最新評(píng)論