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

一文搞懂Python中pandas透視表pivot_table功能

 更新時(shí)間:2021年11月24日 11:10:10   作者:The-Chosen-One  
透視表是一種可以對(duì)數(shù)據(jù)動(dòng)態(tài)排布并且分類匯總的表格格式?;蛟S大多數(shù)人都在Excel使用過(guò)數(shù)據(jù)透視表,也體會(huì)到它的強(qiáng)大功能,而在pandas中它被稱作pivot_table,今天通過(guò)本文給大家介紹Python中pandas透視表pivot_table功能,感興趣的朋友一起看看吧

一文看懂pandas的透視表pivot_table

一、概述

1.1 什么是透視表?

透視表是一種可以對(duì)數(shù)據(jù)動(dòng)態(tài)排布并且分類匯總的表格格式?;蛟S大多數(shù)人都在Excel使用過(guò)數(shù)據(jù)透視表,也體會(huì)到它的強(qiáng)大功能,而在pandas中它被稱作pivot_table。

1.2 為什么要使用pivot_table?

  • 靈活性高,可以隨意定制你的分析計(jì)算要求
  • 脈絡(luò)清晰易于理解數(shù)據(jù)
  • 操作性強(qiáng),報(bào)表神器

二、如何使用pivot_table

首先讀取數(shù)據(jù),數(shù)據(jù)集是火箭隊(duì)當(dāng)家球星James Harden某一賽季比賽數(shù)據(jù)作為數(shù)據(jù)集進(jìn)行講解。數(shù)據(jù)地址。

先看一下官方文檔中pivot_table的函數(shù)體:pandas.pivot_table - pandas 0.21.0 documentation

pivot_table(data,values=None,index=None,columns=None,aggfunc='mean',fill_value=None,margins=False,dropna=True,margins_name='All')

pivot_table有四個(gè)最重要的參數(shù)index、values、columns、aggfunc,本文以這四個(gè)參數(shù)為中心講解pivot操作是如何進(jìn)行。

2.1 讀取數(shù)據(jù)

  • ?import pandas as pd
  • ?import numpy as np
  • ?df = pd.read_csv('h:/James_Harden.csv',encoding='utf8')
  • ?df.tail()

數(shù)據(jù)格式如下:

2.2Index

每個(gè)pivot_table必須擁有一個(gè)index,如果想查看哈登對(duì)陣每個(gè)隊(duì)伍的得分,首先我們將對(duì)手設(shè)置為index

pd.pivot_table(df,index=[u'對(duì)手'])

對(duì)手成為了第一層索引,還想看看對(duì)陣同一對(duì)手在不同主客場(chǎng)下的數(shù)據(jù),試著將對(duì)手與勝負(fù)與主客場(chǎng)都設(shè)置為index,其實(shí)就變成為了兩層索引

pd.pivot_table(df,index=[u'對(duì)手',u'主客場(chǎng)'])

試著交換下它們的順序,數(shù)據(jù)結(jié)果一樣:

pd.pivot_table(df,index=[u'主客場(chǎng)',u'對(duì)手'])

看完上面幾個(gè)操作,Index就是層次字段,要通過(guò)透視表獲取什么信息就按照相應(yīng)的順序設(shè)置字段,所以在進(jìn)行pivot之前你也需要足夠了解你的數(shù)據(jù)。

2.3Values

通過(guò)上面的操作,我們獲取了james harden在對(duì)陣對(duì)手時(shí)的所有數(shù)據(jù),而Values可以對(duì)需要的計(jì)算數(shù)據(jù)進(jìn)行篩選,如果我們只需要james harden在主客場(chǎng)和不同勝負(fù)情況下的得分、籃板與助攻三項(xiàng)數(shù)據(jù):

pd.pivot_table(df,index=[u'主客場(chǎng)',u'勝負(fù)'],values=[u'得分',u'助攻',u'籃板'])

2.4Aggfunc

aggfunc參數(shù)可以設(shè)置我們對(duì)數(shù)據(jù)聚合時(shí)進(jìn)行的函數(shù)操作。

當(dāng)我們未設(shè)置aggfunc時(shí),它默認(rèn)aggfunc='mean'計(jì)算均值。我們還想要獲得james harden在主客場(chǎng)和不同勝負(fù)情況下的總得分、總籃板、總助攻時(shí):

pd.pivot_table(df,index=[u'主客場(chǎng)',u'勝負(fù)'],values=[u'得分',u'助攻',u'籃板'],aggfunc=[np.sum,np.mean])

2.5Columns

Columns類似Index可以設(shè)置列層次字段,它不是一個(gè)必要參數(shù),作為一種分割數(shù)據(jù)的可選方式。

#fill_value填充空值,margins=True進(jìn)行匯總pd.pivot_table(df,index=[u'主客場(chǎng)'],columns=[u'對(duì)手'],values=[u'得分'],aggfunc=[np.sum],fill_value=0,margins=1)

現(xiàn)在我們已經(jīng)把關(guān)鍵參數(shù)都介紹了一遍,下面是一個(gè)綜合的例子:

table=pd.pivot_table(df,index=[u'對(duì)手',u'勝負(fù)'],columns=[u'主客場(chǎng)'],values=[u'得分',u'助攻',u'籃板'],aggfunc=[np.mean],fill_value=0)

結(jié)果如下:

aggfunc也可以使用dict類型,如果dict中的內(nèi)容與values不匹配時(shí),以dict中為準(zhǔn)。

table=pd.pivot_table(df,index=[u'對(duì)手',u'勝負(fù)'],columns=[u'主客場(chǎng)'],values=[u'得分',u'助攻',u'籃板'],aggfunc={u'得分':np.mean,u'助攻':[min, max, np.mean]},fill_value=0)

結(jié)果就是助攻求min,max和mean,得分求mean,而籃板沒(méi)有顯示。

到此這篇關(guān)于一文搞懂Python中pandas透視表pivot_table功能詳解的文章就介紹到這了,更多相關(guān)pandas透視表pivot_table內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python pymodbus模塊的具體使用

    python pymodbus模塊的具體使用

    pymodbus是一個(gè)Python實(shí)現(xiàn)的Modbus協(xié)議庫(kù),支持TCP和RTU通信模式,支持讀寫(xiě)線圈、離散輸入、保持寄存器等數(shù)據(jù)類型,具有一定的參考價(jià)值,感興趣的可以了解一下
    2025-09-09
  • Python之multiprocessing包使用及說(shuō)明

    Python之multiprocessing包使用及說(shuō)明

    multiprocessing是 Python標(biāo)準(zhǔn)庫(kù)中的的一個(gè)包,支持進(jìn)程間的并發(fā)執(zhí)行,它提供了一個(gè)類似 threading 的 API,允許創(chuàng)建新的進(jìn)程,每個(gè)進(jìn)程有自己的 Python 解釋器器和內(nèi)存空間,通過(guò)使用multiprocessing,開(kāi)發(fā)者可以利用多核或多 CPU 的系統(tǒng),進(jìn)行 CPU 密集型任務(wù)
    2026-05-05
  • python實(shí)現(xiàn)把兩個(gè)二維array疊加成三維array示例

    python實(shí)現(xiàn)把兩個(gè)二維array疊加成三維array示例

    今天小編就為大家分享一篇python實(shí)現(xiàn)把兩個(gè)二維array疊加成三維array示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-11-11
  • python全棧開(kāi)發(fā)語(yǔ)法總結(jié)

    python全棧開(kāi)發(fā)語(yǔ)法總結(jié)

    在本篇文章里小編給大家整理的是一篇關(guān)于python全棧開(kāi)發(fā)語(yǔ)法的相關(guān)總結(jié)內(nèi)容,有興趣的朋友們可以跟著學(xué)習(xí)參考下。
    2020-11-11
  • python使用smtplib模塊通過(guò)gmail實(shí)現(xiàn)郵件發(fā)送的方法

    python使用smtplib模塊通過(guò)gmail實(shí)現(xiàn)郵件發(fā)送的方法

    這篇文章主要介紹了python使用smtplib模塊通過(guò)gmail實(shí)現(xiàn)郵件發(fā)送的方法,涉及Python使用smtplib模塊發(fā)送郵件的相關(guān)技巧,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下
    2015-05-05
  • python MD5加密的示例

    python MD5加密的示例

    這篇文章主要介紹了python MD5加密的示例,幫助大家更好的利用python進(jìn)行加密,感興趣的朋友可以了解下
    2020-10-10
  • Python去掉字符串中空格的方法

    Python去掉字符串中空格的方法

    這篇文章主要介紹了Python中去掉字符串中空格的方法,使用了strip()、lstrip()、rstrip()函數(shù),需要的朋友可以參考下
    2014-03-03
  • Python?Prim算法通過(guò)遍歷墻實(shí)現(xiàn)迷宮的生成

    Python?Prim算法通過(guò)遍歷墻實(shí)現(xiàn)迷宮的生成

    之前,我們?cè)诹硗庖黄恼轮惺褂肞rim算法生成了一個(gè)完美迷宮,利用的是遍歷網(wǎng)格的方法,這一次,我們要教教大家用遍歷墻的方法生成,感興趣的可以收藏一下
    2023-01-01
  • python通過(guò)tcp發(fā)送xml報(bào)文的方法

    python通過(guò)tcp發(fā)送xml報(bào)文的方法

    今天小編就為大家分享一篇python通過(guò)tcp發(fā)送xml報(bào)文的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • pycharm終端無(wú)法激活conda環(huán)境的解決辦法

    pycharm終端無(wú)法激活conda環(huán)境的解決辦法

    如果您在PyCharm終端中無(wú)法激活conda環(huán)境,可能是由于PyCharm沒(méi)有正確配置conda解釋器,這篇文章主要給大家介紹了關(guān)于pycharm終端無(wú)法激活conda環(huán)境的解決辦法,需要的朋友可以參考下
    2023-09-09

最新評(píng)論

开鲁县| 曲周县| 德惠市| 喀喇沁旗| 兴国县| 嘉黎县| 长子县| 衡东县| 临高县| 即墨市| 肃宁县| 阜宁县| 昌平区| 巴里| 淮北市| 武安市| 中江县| 广德县| 涞水县| 乌审旗| 德阳市| 阳曲县| 山西省| 锡林浩特市| 施甸县| 托克逊县| 凤阳县| 丽江市| 麟游县| 新竹县| 泸定县| 达尔| 贵溪市| 开封县| 襄垣县| 甘孜| 华池县| 疏附县| 玉林市| 仁怀市| 广汉市|