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

解讀pandas交叉表與透視表pd.crosstab()和pd.pivot_table()函數(shù)

 更新時間:2023年09月13日 09:25:13   作者:learning-striving  
這篇文章主要介紹了pandas交叉表與透視表pd.crosstab()和pd.pivot_table()函數(shù)的用法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

一、交叉表

交叉表:用于計算一列數(shù)據(jù)對于另外一列數(shù)據(jù)的分組個數(shù)(用于統(tǒng)計分組頻率的特殊透視表),pd.crosstab(value1, value2)

pandas.crosstab(index, columns, values=None, rownames=None, colnames=None, aggfunc=None, margins=False, margins_name='All', dropna=True, normalize=False)

計算兩個(或多個)因子的簡單交叉制表。 默認情況下, 計算因子的頻率表,除非傳遞值數(shù)組和聚合函數(shù)

  • index:類似數(shù)組、系列或數(shù)組/系列值的列表,行中分組依據(jù)的值
  • columns:類似數(shù)組、系列或數(shù)組/系列值的列表,列中要作為分組依據(jù)的值
  • values:類似數(shù)組,可選,要根據(jù)因素聚合的值數(shù)組,需要指定 aggfunc
  • rownames:序列,默認 None ,如果傳遞,必須匹配傳遞的行數(shù)組的數(shù)量
  • colnames:序列,默認 None ,如果傳遞,必須匹配傳遞的列數(shù)組的數(shù)量
  • aggfunc:function,可選,如果指定,則還需要指定值
  • margins:bool, 默認False 添加行/列邊距(小計)
  • margins_name:str,默認為“All”,當邊距為 True 時將包含總計的行/列的名稱
  • dropna:bool, 默認為True,不包含條目均為 NaN 的列
  • normalize:bool, {‘all’, ‘index’, ‘columns’}, or {0,1}, 默認為False,通過將所有值除以值的總和來歸一化

“all”或 True:將對所有值進行歸一化

index:將對每一行進行歸一化

columns:將對每一列進行歸一化

若margins 為 True,也將標準化邊距值

  • 返回:數(shù)據(jù)的 DataFrame 交叉表

傳遞的任何 Series 都將使用其名稱屬性,除非指定了交叉表的行或列名稱。

傳遞的任何包含分類數(shù)據(jù)的輸入都將在交叉表中包含其所有類別,即使實際數(shù)據(jù)不包含特定類別的任何實例也是如此。

如果沒有重疊索引,將返回一個空的 DataFrame

a = np.array(["foo", "foo", "foo", "foo", "bar", "bar", "bar", "bar", "foo", "foo", "foo"], dtype=object)
b = np.array(["one", "one", "one", "two", "one", "one", "one", "two", "two", "two", "one"], dtype=object)
c = np.array(["dull", "dull", "shiny", "dull", "dull", "shiny", "shiny", "dull", "shiny", "shiny", "dull"], dtype=object)
pd.crosstab(a, [b, c], rownames=['a'], colnames=['b', 'c'])   
-----------------------------------------------------------------------------------------
# 算數(shù)運算,先求和
sum = count.sum(axis=1)
sum
-------------------------------------
# 進行相除操作,得出比例
pro = count.div(sum, axis=0)
pro
-------------------------------------
import matplotlib.pyplot as plt
pro.plot(kind='bar', stacked=True)
plt.show()

二、透視表

透視表:透視表是將原有的DataFrame的列分別作為行索引和列索引,然后對指定的列應用聚集函數(shù),是一種可以對數(shù)據(jù)動態(tài)排布并且分類匯總的表格格式

DataFrame.pivot_table(values=None, index=None, columns=None, aggfunc='mean', fill_value=None, margins=False, dropna=True, margins_name='All', observed=False, sort=True)

創(chuàng)建一個電子表格樣式的數(shù)據(jù)透視表作為 DataFrame。數(shù)據(jù)透視表中的級別將存儲在結(jié)果 DataFrame 的索引和列上的 MultiIndex 對象(分層索引)中

  • values:要聚合的列,可選,默認對所有列操作
  • index:column, Grouper, array, or list of the previous 如果傳遞數(shù)組,它必須與數(shù)據(jù)的長度相同。該列表可以包含任何其他類型(列表除外)。在數(shù)據(jù)透視表索引上分組的鍵。如果傳遞一個數(shù)組,它的使用方式與列值相同
  • column:column, Grouper, array, or list of the previous 如果傳遞一個數(shù)組,它必須和數(shù)據(jù)一樣長。該列表可以包含任何其他類型(列表除外)。在數(shù)據(jù)透視表列上分組的鍵。如果傳遞一個數(shù)組,它的使用方式與列值相同
  • aggfunc:function, list of functions, dict, 默認為numpy.mean 如果傳遞函數(shù)列表,則生成的數(shù)據(jù)透視表將具有分層列,其頂層是函數(shù)名稱(從函數(shù)對象本身推斷)如果傳遞dict,則鍵是列聚合和值是函數(shù)或函數(shù)列表
  • fill_value:scalar,默認 None 用于替換缺失值的值(在聚合后的結(jié)果數(shù)據(jù)透視表中)
  • margins:bool, 默認False 添加所有行/列(例如小計/總計)
  • dropna:bool, 默認為True,不包含條目均為 NaN 的列。如果為 True,則在計算邊距之前將忽略任何列中具有 NaN 值的行
  • margins_name:str,默認為“All” 當邊距為 True 時將包含總計的行/列的名稱
  • observed:bool,默認為 False 這僅適用于任何groupers 是分類的。若為True:僅顯示分類groupers 的觀察值。否則顯示分類groupers 的所有值。?????
  • sort:bool, default True 指定結(jié)果是否應該排序
  • 返回 DataFrame:Excel 樣式的數(shù)據(jù)透視表

代碼如下

df = pd.DataFrame({"A": ["aaa", "aaa", "aaa", "aaa", "aaa","aa", "aa", "aa"],
                   "B": ["bbb", "bbb", "bbb", "bb", "bb", "bbb", "bbb", "bb"],
                   "C": ["small", "large", "large", "small","small", "large", "small", "small"],
                   "D": [1, 2, 2, 3, 3, 4, 5, 6],
                   "E": [2, 4, 5, 5, 6, 6, 8, 9]})
df
---------------------------------------------------------------------------------------
pd.pivot_table(df, values='D', index=['A', 'B'], columns=['C'], aggfunc=np.sum)   # 通過求和來聚合值
pd.pivot_table(df, values='D', index=['A', 'B'], columns=['C'], aggfunc=np.sum, fill_value=0)   # 可以使用fill_value參數(shù)填充缺失的值
pd.pivot_table(df, values=['D', 'E'], index=['A', 'C'], aggfunc={'D': np.mean, 'E': np.mean})   # 通過對多個列取平均值進行聚合
pd.pivot_table(df, values=['D', 'E'], index=['A', 'C'], aggfunc={'D': np.mean, 'E': [min, max, np.mean]})   # 可以為任何給定值列計算多種類型的聚合

操作演示如下

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 解決Jupyter Notebook開始菜單欄Anaconda下消失的問題

    解決Jupyter Notebook開始菜單欄Anaconda下消失的問題

    這篇文章主要介紹了解決Jupyter Notebook開始菜單欄Anaconda下消失的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • Python numpy數(shù)組轉(zhuǎn)置與軸變換

    Python numpy數(shù)組轉(zhuǎn)置與軸變換

    這篇文章主要介紹了Python numpy數(shù)組轉(zhuǎn)置與軸變換,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-11-11
  • numpy中軸處理的實現(xiàn)

    numpy中軸處理的實現(xiàn)

    本文主要介紹了numpy中軸處理的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03
  • 詳解Python爬取并下載《電影天堂》3千多部電影

    詳解Python爬取并下載《電影天堂》3千多部電影

    這篇文章主要介紹了Python爬取并下載《電影天堂》3千多部電影,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • python中如何讓輸出不換行

    python中如何讓輸出不換行

    這篇文章主要介紹了python中如何讓輸出不換行問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • python制作花瓣網(wǎng)美女圖片爬蟲

    python制作花瓣網(wǎng)美女圖片爬蟲

    本文通過python 來實現(xiàn)這樣一個簡單的爬蟲功能,把我們想要的圖片爬取到本地,需要的朋友可以參考下
    2015-10-10
  • Python第三方庫之OpenCV庫的實用指南

    Python第三方庫之OpenCV庫的實用指南

    OpenCV(Open Source Computer Vision Library)作為一個強大的計算機視覺庫,提供了豐富的圖像處理和計算機視覺功能,本文將帶領(lǐng)讀者使用Python編程語言,通過簡單的代碼示例,初步掌握OpenCV的圖像處理技術(shù),需要的朋友可以參考下
    2024-09-09
  • 使用Python設置Windows文件默認打開程序

    使用Python設置Windows文件默認打開程序

    本文介紹了一個用于Windows系統(tǒng)設置文件默認打開程序的Python工具,通過命令行和注冊表兩種方式修改關(guān)聯(lián),適用于Windows7/10/11,代碼包括設置默認程序、兼容性處理和驗證功能,并提供了使用示例,需要的朋友可以參考下
    2026-01-01
  • Python+OCR實現(xiàn)文檔解析的示例代碼

    Python+OCR實現(xiàn)文檔解析的示例代碼

    本文是一個簡單教程,主要介紹了如何使用OCR進行文檔解析以及使用Layoutpars軟件包進行了整個檢測和提取過程,感興趣的可以了解一下
    2022-09-09
  • pymongo給mongodb創(chuàng)建索引的簡單實現(xiàn)方法

    pymongo給mongodb創(chuàng)建索引的簡單實現(xiàn)方法

    這篇文章主要介紹了pymongo給mongodb創(chuàng)建索引的簡單實現(xiàn)方法,涉及Python使用pymongo模塊操作mongodb的技巧,需要的朋友可以參考下
    2015-05-05

最新評論

江阴市| 三门峡市| 师宗县| 儋州市| 延吉市| 漯河市| 汉中市| 娄烦县| 潜山县| 云林县| 文登市| 八宿县| 易门县| 瑞金市| 澄迈县| 闸北区| 高尔夫| 怀柔区| 新龙县| 阆中市| 沭阳县| 顺平县| 保康县| 铁力市| 重庆市| 曲水县| 林甸县| 长武县| 荆门市| 开阳县| 鞍山市| 泌阳县| 满洲里市| 五家渠市| 汾阳市| 金华市| 昂仁县| 永宁县| 扬中市| 安吉县| 石家庄市|