亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

一文搞懂Pandas數(shù)據(jù)透視的4個函數(shù)的使用

 更新時間:2022年06月16日 16:08:32   作者:Python丁小杰  
今天主要和大家分享Pandas中四種有關(guān)數(shù)據(jù)透視的通用函數(shù),在數(shù)據(jù)處理中遇到這類需求時,能夠很好地應(yīng)對,快跟隨小編一起學(xué)習(xí)一下吧

大家好,我是丁小杰!

今天和大家分享Pandas中四種有關(guān)數(shù)據(jù)透視的通用函數(shù),在數(shù)據(jù)處理中遇到這類需求時,能夠很好地應(yīng)對。

pandas.melt()

melt函數(shù)的主要作用是將DataFrame從寬格式轉(zhuǎn)換成長格式。

pandas.melt(frame,id_vars=None, value_vars=None, var_name=None, value_name='value', col_level=None, ignore_index=True)

參數(shù)含義

  • id_vars:tuple, list, or ndarray,可選,作為標識符變量的列
  • value_vars:tuple, list, or ndarray, 可選,透視列,如果未指定,則使用未設(shè)置為id_vars的所有列。
  • var_name:scalar,默認為None,使用variable作為列名
  • value_name:標量, default ‘value’,value列的名稱
  • col_level:int or str, 可選,如果列是多層索引,melt將應(yīng)用于指定級別
  • ignore_index:bool, 默認為True,相當于從0開始重新排序。如果為False,則保留原來的索引,索引標簽將出現(xiàn)重復(fù)。

看個例子先:

import?pandas?as?pd

df?=?pd.DataFrame(
????{'地區(qū)':?['A',?'B',?'C'],
?????'2020':?[80,?60,?40],
?????'2021':?[800,?600,?400],?
?????'2022':?[8000,?6000,?4000]})

pd.melt(df,
????????id_vars=['地區(qū)'],
????????value_vars=['2020',?'2021',?'2022'])

設(shè)置var_namevalue_name。

df?=?pd.melt(df,
?????????????id_vars=['地區(qū)'],
?????????????value_vars=['2020',?'2021',?'2022'],
?????????????var_name='年份',
?????????????value_name='銷售額')

pandas.pivot()

pivot函數(shù)主要用于通過索引及列值對DataFrame重構(gòu)。

pandas.pivot(data, index=None, columns=None, values=None)

參數(shù)含義

  • data:DataFrame對象
  • index:可選,用于新DataFrame的索引
  • columns:用于創(chuàng)建新DataFrame的列
  • values:可選,用于填充新DataFrame的值

用上面的結(jié)果舉個例子:

df.pivot(index='年份',
?????????columns='地區(qū)',
?????????values='銷售額')

也可以寫成以下格式。

df.pivot(index='年份',?columns='地區(qū)')['銷售額']

添加一個銷量列,同時統(tǒng)計兩個values,這樣會使columns變成多層索引。

df['銷量']?=?df['銷售額']/10
df.pivot(index='年份',
?????????columns='地區(qū)',
?????????values=['銷售額',?'銷量'])

添加一個月份列,指定兩個index。

df['月份']?=?[f'{m}月'?for?m?in?range(1,?4)]*3
df.pivot(index=['年份',?'月份'],
?????????columns='地區(qū)',
?????????values='銷售額')

使用pivot時需要注意,當indexcolumns出現(xiàn)重復(fù)時,會導(dǎo)致ValueError。

df?=?pd.DataFrame(
????????{'地區(qū)':?['A',?'A',?'B',?'C'],
?????????'年份':?['2020',?'2020',?'2021',?'2022'],
?????????'銷售額':?[800,?600,?400,?200]})

df.pivot(index='地區(qū)',
?????????columns='年份',
?????????values='銷售額')
#?ValueError

pandas.pivot_table()

這個函數(shù)之前已經(jīng)單獨講過了,詳見Pandas玩轉(zhuǎn)數(shù)據(jù)透視表,相比于pivotpivot_table的靈活性更強。

pandas.crosstab()

crosstab函數(shù)計算兩個(或多個)數(shù)組的簡單交叉表。默認情況下計算元素的頻率表。

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

看下例子:

這里默認計算頻率。

import?numpy?as?np
array_A?=?np.array(["one",?"two",?"two",?"three",?"three",?"three"],?dtype=object)
array_B?=?np.array(["Python",?"Python",?"Python",?"C",?"C",?"C"],?dtype=object)
array_C?=?np.array(["Y",?"Y",?"Y",?"N",?"N",?"N"])
pd.crosstab(array_A,
???????????[array_B,?array_C],
???????????rownames=['array_A'],
???????????colnames=['array_B',?'array_C'])

新建一個values列,計算總和。

array_D?=?np.array([1,?4,?9,?16,?25,?36])
pd.crosstab(index=array_A,
????????????columns=[array_B,?array_C],
????????????rownames=['array_A'],
????????????colnames=['array_B',?'array_C'],
????????????values=array_D,
????????????aggfunc='sum')

到此這篇關(guān)于一文搞懂Pandas數(shù)據(jù)透視的4個函數(shù)的使用的文章就介紹到這了,更多相關(guān)Pandas數(shù)據(jù)透視內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 基于Python3中運算符 **和*的區(qū)別說明

    基于Python3中運算符 **和*的區(qū)別說明

    這篇文章主要介紹了Python3中運算符 **和*的具體區(qū)別,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • 詳解python requests中的post請求的參數(shù)問題

    詳解python requests中的post請求的參數(shù)問題

    這篇文章主要介紹了詳解python requests中的post請求的參數(shù)問題,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Python使用技巧之實現(xiàn)Excel轉(zhuǎn)為PDF

    Python使用技巧之實現(xiàn)Excel轉(zhuǎn)為PDF

    這篇文章主要為大家詳細介紹了使用第三方Python庫Spire.XLS?for?Python?實現(xiàn)Excel轉(zhuǎn)PDF的簡單方法,文中的示例代碼講解詳細,需要的可以參考下
    2023-11-11
  • Python讀取stdin方法實例

    Python讀取stdin方法實例

    在本篇文章中小編給大家分享了關(guān)于Python里如何讀取stdin的知識點以及相關(guān)實例內(nèi)容,需要的朋友們學(xué)習(xí)參考下。
    2019-05-05
  • 利用Python將多張圖片合成視頻的實現(xiàn)

    利用Python將多張圖片合成視頻的實現(xiàn)

    這篇文章主要介紹了利用Python將多張圖片合成視頻的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • 如何利用python給微信公眾號發(fā)消息實例代碼

    如何利用python給微信公眾號發(fā)消息實例代碼

    使用過微信公眾號的小伙伴應(yīng)該知道微信公眾號有時候會給你推一些文章,當你選擇它的某個功能時,它還會返回一些信息,下面這篇文章主要給大家介紹了關(guān)于如何利用python給微信公眾號發(fā)消息的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • python 隨機森林算法及其優(yōu)化詳解

    python 隨機森林算法及其優(yōu)化詳解

    這篇文章主要介紹了ptyhon 隨機森林算法及其優(yōu)化詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-07-07
  • Python urllib3軟件包的使用說明

    Python urllib3軟件包的使用說明

    這篇文章主要介紹了Python urllib3軟件包的使用說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • Python用requests庫爬取返回為空的解決辦法

    Python用requests庫爬取返回為空的解決辦法

    這篇文章主要介紹了Python用requests庫爬取返回為空的解決辦法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • 如何查看python中安裝庫的文件位置

    如何查看python中安裝庫的文件位置

    這篇文章主要介紹了查看python中安裝庫的文件位置的方法,python自帶標準庫位置在安裝環(huán)境的lib文件夾下的.py文件都是,在環(huán)境的lib文件夾中,本文給大家詳細講解需要的朋友可以參考下
    2022-11-11

最新評論