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

深入解析pandas數(shù)據(jù)聚合和重組

 更新時間:2023年04月20日 11:44:59   作者:西西弗斯推石頭  
這篇文章主要介紹了pandas數(shù)據(jù)聚合和重組,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

介紹pandas數(shù)據(jù)聚合和重組的相關(guān)知識,僅供參考。

1GroupBy技術(shù)

1.1簡介

簡介:根據(jù)一個或多個鍵進(jìn)行分組,每一組應(yīng)用函數(shù),再進(jìn)行合并

分組的鍵有多種形式:

  • 列表或數(shù)組,長度與待分組的軸一樣
  • 表示DataFrame某個列名的值
  • 字典或Series,給出待分組軸上的值與分組名之間的對應(yīng)關(guān)系
  • 函數(shù),用于處理軸索引或索引中的各個標(biāo)簽

實例:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from pandas import Series,DataFrame
df =DataFrame({'key1':list('aabba'),'key2':['one','two','one','two','one'],\
 'data1':np.random.randn(5),'data2':np.random.randn(5)}) 
#根據(jù)key1進(jìn)行分組,并計算data1的均值。 
#注意下面的方式,取出來進(jìn)行分組,而不是在DataFrame中分組,這種方式很靈活 
#可以看到這是一個GroupBy對象,具備了應(yīng)用函數(shù)的基礎(chǔ) 
#這個過程是將Series進(jìn)行聚合,產(chǎn)生了新的Series 
grouped = df['data1'].groupby(df['key1']) 
print(grouped,'\n') 

 注:

取出來進(jìn)行分組,而不是在DataFrame中分組分組鍵中的缺失值被排除在外 1.2對分組進(jìn)行迭代

GroupBy對象支持迭代,可以產(chǎn)生一組二元元組(由分組名和數(shù)據(jù)塊組成)

 groupby默認(rèn)在axis=0上進(jìn)行分組,但可以設(shè)置在任何軸上分組

1.3選取一個或一組列

對于由DataFrame產(chǎn)生的GroupBy對象,如果用一個或一組列名進(jìn)行索引,可實現(xiàn)選取部分列進(jìn)行聚合的目的,即下面語法效果相同。

 1.4通過字典或Series進(jìn)行分組

 假設(shè)已經(jīng)知道列的分組方式,現(xiàn)在需要利用這個信息進(jìn)行分組統(tǒng)計。

下面為groupby傳入一個已知信息的字典:

 相當(dāng)于將每一個列重設(shè)名,再按新的名字進(jìn)行求和。

Series也有這樣的功能,被看作一個固定大小的映射,可以用Series作為分組鍵,pandas會自動檢查對齊。

1.5利用函數(shù)進(jìn)行分組

將函數(shù)、數(shù)組、字典、Series混用也ok,因為最終都會轉(zhuǎn)換為數(shù)組

2數(shù)據(jù)聚合

2.1簡介

簡介:

這里的數(shù)據(jù)聚合是說任何能夠從數(shù)組產(chǎn)生標(biāo)量值的過程常見的聚合運算都有就地計算數(shù)據(jù)集統(tǒng)計信息的優(yōu)化實現(xiàn)。當(dāng)然不止這些,可以用自己定義的運算,還可以調(diào)用分組對象上已經(jīng)定義好的任何方法。

例:quantile可計算Series或DataFrame列的樣本分位數(shù)。

 對于自己定義的聚合函數(shù),只需將其傳入aggregate或agg即可:

有些方法(describe)也可應(yīng)用

 自定義函數(shù)比經(jīng)過優(yōu)化的函數(shù)要慢得多,這是因為在構(gòu)造中間分組數(shù)據(jù)塊時存在非常大的開銷(函數(shù)調(diào)用、數(shù)據(jù)重排等)

可使用的函數(shù):

2.1面向列的多函數(shù)應(yīng)用

有時候需要對不同的列應(yīng)用不同的函數(shù) ,或者對一列應(yīng)用不同的函數(shù)

 若傳入一組函數(shù)或函數(shù)名,得到的DataFrame列就會以相應(yīng)的函數(shù)命名

上面有個問題就是列名是自動給出的,以函數(shù)名為列名,若傳入元組(name,function)組成的列表,就會自動將第一個元素作為列名

對兩列都應(yīng)用functions:

 得到的結(jié)果的列名是層次化索引,可以直接用外層索引選取數(shù)據(jù):

 如果想對不同的列應(yīng)用不同的函數(shù),具體的辦法是向agg傳入一個從列映射到函數(shù)的字典:

2.2以‘無索引’的方式返回聚合數(shù)據(jù)

到目前為止,示例中的聚合數(shù)據(jù)都是由唯一的分組鍵組成的索引(可能還是層次化的)

由于并不是總需要如此,可以向groupby傳入as_index = False禁用該功能

到此這篇關(guān)于pandas數(shù)據(jù)聚合和重組的文章就介紹到這了,更多相關(guān)pandas數(shù)據(jù)聚合內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python 實現(xiàn)文件讀寫、坐標(biāo)尋址、查找替換功能

    Python 實現(xiàn)文件讀寫、坐標(biāo)尋址、查找替換功能

    這篇文章主要介紹了Python 實現(xiàn)文件讀寫、坐標(biāo)尋址、查找替換功能,本文通過實例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2019-09-09
  • 一文解決Python切換版本問題

    一文解決Python切換版本問題

    由于mac默認(rèn)都會安裝python2.x,這給我們python開發(fā)造成不便,我們經(jīng)常要用到python3.x的版本來進(jìn)行測試、開發(fā),所以本文主要介紹了Python切換版本問題,感興趣的可以了解一下
    2021-07-07
  • python?字典常用方法超詳細(xì)梳理總結(jié)

    python?字典常用方法超詳細(xì)梳理總結(jié)

    這篇文章主要介紹了Python數(shù)據(jù)類型字典dictionary,字典是另一種可變?nèi)萜髂P?,且可存儲任意類型對象。本篇文字將詳?xì)講述字典的常用方法,需要的可以參考一下
    2022-03-03
  • Python繪制趨勢線的示例代碼

    Python繪制趨勢線的示例代碼

    趨勢線是用來顯示數(shù)據(jù)趨勢或者預(yù)測未來發(fā)展方向的一種圖形表示方法,這篇文章主要為大家詳細(xì)介紹了如何使用Python繪制趨勢線,需要的可以了解下
    2024-03-03
  • 使用Python制作一個極簡四則運算解釋器

    使用Python制作一個極簡四則運算解釋器

    這篇文章主要介紹了使用Python制作一個極簡四則運算解釋器,在使用工具之前,至少也要了解工具的作用,需要的朋友可以參考下
    2023-04-04
  • Python中sys.argv用法圖文詳解

    Python中sys.argv用法圖文詳解

    很多剛剛接觸python的人來說,對于python中sys.argv[]往往不是很明白,下面這篇文章主要給大家介紹了關(guān)于Python中sys.argv用法的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-12-12
  • pandas 相關(guān)性和正態(tài)性分析的實踐

    pandas 相關(guān)性和正態(tài)性分析的實踐

    當(dāng)我們談?wù)撜龖B(tài)性(Normality)和相關(guān)性(Correlation)時,我們實際上在嘗試?yán)斫鈹?shù)據(jù)的分布模式和不同變量之間的關(guān)系,本文就來介紹一下pandas 相關(guān)性和正態(tài)性的實踐,感興趣的可以了解一下
    2024-07-07
  • Python 實現(xiàn)一個計時器

    Python 實現(xiàn)一個計時器

    這篇文章主要介紹了Python 實現(xiàn)一個計時器的方法,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • tensorflow2.0教程之Keras快速入門

    tensorflow2.0教程之Keras快速入門

    這篇文章主要介紹了tensorflow2.0教程之Keras快速入門,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • 利用Python如何生成hash值示例詳解

    利用Python如何生成hash值示例詳解

    這篇文章主要給大家介紹了關(guān)于利用Python如何生成hash值的相關(guān)資料,并且給大家分享了利用Python一句話校驗軟件哈希值的方法,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-12-12

最新評論

长白| 西峡县| 汉沽区| 柘城县| 高台县| 罗城| 从江县| 六安市| 青河县| 南召县| 景德镇市| 霍林郭勒市| 兴安盟| 南京市| 伊川县| 墨江| 寿光市| 七台河市| 瑞金市| 阳朔县| 海晏县| 海城市| 左贡县| 芮城县| 洮南市| 马边| 雷山县| 诏安县| 绥棱县| 新和县| 黄大仙区| 灯塔市| 阿荣旗| 海林市| 汤原县| 蓝田县| 甘肃省| 拉孜县| 灵川县| 博野县| 双牌县|