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

Python數(shù)據(jù)處理的六種方式總結(jié)

 更新時(shí)間:2022年11月21日 09:55:06   作者:Python數(shù)據(jù)挖掘  
在 Python 的數(shù)據(jù)處理方面經(jīng)常會(huì)用到一些比較常用的數(shù)據(jù)處理方式,比如pandas、numpy等等。今天介紹的這款 Python 數(shù)據(jù)處理的管道數(shù)據(jù)處理方式,通過鏈?zhǔn)胶瘮?shù)的方式可以輕松的完成對(duì)list列表數(shù)據(jù)的處理,希望對(duì)大家有所幫助

前言

在 Python 的數(shù)據(jù)處理方面經(jīng)常會(huì)用到一些比較常用的數(shù)據(jù)處理方式,比如pandas、numpy等等。

今天介紹的這款 Python 數(shù)據(jù)處理的管道數(shù)據(jù)處理方式,通過鏈?zhǔn)胶瘮?shù)的方式可以輕松的完成對(duì)list列表數(shù)據(jù)的處理。通過類似于shell編程中的管道符對(duì)處理?xiàng)l件進(jìn)行篩選從而更快速的完成對(duì)數(shù)據(jù)的處理操作。

由于pipe是第三方提供的非標(biāo)準(zhǔn)庫,所以需要使用pip的方式進(jìn)行安裝。

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

# Importing the pipe module.
import pipe

# Importing the pprint function from the pprint module.
from pprint import pprint

關(guān)于pipe提供的數(shù)據(jù)處理函數(shù)主要包含六種,分別是dedup()、traverse()、filter()、groupby()、select()、sort(),通過函數(shù)間的不同組合可以完成不同的數(shù)據(jù)處理效果。

1、dedup()去重并排序

數(shù)據(jù)去重比較好操作,就是去除一個(gè)列表中的重復(fù)數(shù)據(jù),如果是數(shù)字類型的list列表,可以對(duì)原始值進(jìn)行去重也可以對(duì)其絕對(duì)值進(jìn)行去重操作。

list_ = (
        [-6, -5, 0, 1, 5, 5] |
        pipe.dedup |
        pipe.Pipe(list)
)

pprint(list_)

# [-6, -5, 0, 1, 5]

也可以通過設(shè)置dedup()函數(shù)的屬性對(duì)絕對(duì)值進(jìn)行去重操作。

list_ = (
        [-6, -5, 0, 1, 5, 5] |
        pipe.dedup(key=abs) |
        pipe.Pipe(list)
)

pprint(list_)

# [-6, -5, 0, 1]

2、traverse()拆分嵌套數(shù)組

為了展示效果,我創(chuàng)建了一個(gè)多重?cái)?shù)組的列表通過使用traverse()函數(shù)完成拆分。

list_ = (
        [-1, 0, [2, 4, [5, 6, [3, 2, 5]]]] |
        pipe.traverse |
        pipe.Pipe(list)
)

pprint(list_)

# [-1, 0, 2, 4, 5, 6, 3, 2, 5]

從結(jié)果發(fā)現(xiàn),已經(jīng)將我們定義的一個(gè)四層的list列表完全的拆分了。

3、filter()數(shù)據(jù)篩選

創(chuàng)建一組list列表數(shù)據(jù)并篩選出列表中的值大于10的數(shù)據(jù)并返回篩選后的列表數(shù)據(jù)。

list_ = (
        [-1, 0, 1, 2, 4, 6, 10, 11, 12, 15, 17, 18] |
        pipe.filter(lambda a: a > 10) |
        pipe.Pipe(list)
)

pprint(list_)

# [11, 12, 15, 17, 18]

4、groupby()分組運(yùn)算

創(chuàng)建一個(gè)包含屬性姓名、年齡、班級(jí)的list列表,然后可以按照某一個(gè)屬性對(duì)其完成分組。

list_ = (
        [
            {
                '姓名': 'Pytonh',
                '年齡': '19',
                '班級(jí)': '1710'
            },
            {
                '姓名': 'Pytonh',
                '年齡': '20',
                '班級(jí)': '1810'
            }
        ] |
        pipe.groupby(lambda item: item['姓名']) |
        pipe.Pipe(list)
)

pprint(list_)

# [('Pytonh', <itertools._grouper object at 0x003EE6B8>)]

這時(shí),雖然返回了分組的結(jié)果,但是沒有對(duì)其進(jìn)行運(yùn)算,此時(shí)可以搭配下面的select()函數(shù)完成運(yùn)算。

5、select()遍歷結(jié)果集

使用上一步中分組出來的數(shù)據(jù)結(jié)果,使用select函數(shù)參與運(yùn)算計(jì)算出姓名為’Python 集中營’的結(jié)果有多少。

list_ = (
        [
            {
                '姓名': 'Pytonh ',
                '年齡': '19',
                '班級(jí)': '1710'
            },
            {
                '姓名': 'Pytonh ',
                '年齡': '20',
                '班級(jí)': '1810'
            }
        ] |
        pipe.groupby(lambda item: item['姓名']) |
        pipe.select(lambda groups: {groups[0]: len(list(groups[1]))}) |
        pipe.Pipe(list)
)

pprint(list_)

# [{'Pytonh ': 2}]

6、sort()數(shù)據(jù)排序

sort函數(shù)的排序使用相對(duì)于分組來說就更簡單了,同樣創(chuàng)建一組列表數(shù)據(jù)來展示效果。

list_ = (
        [-1, 2, 5, 7, 9] |
        pipe.sort(reverse=True) |
        pipe.Pipe(list)
)

pprint(list_)

# [9, 7, 5, 2, -1]

sort函數(shù)的reverse屬性設(shè)置為True的時(shí)候?yàn)榻敌蚺判颍O(shè)置為False時(shí)則為升序排序。

list_ = (
        [-1, 2, 5, 7, 9] |
        pipe.sort(reverse=False) |
        pipe.Pipe(list)
)

pprint(list_)

# [-1, 2, 5, 7, 9]

到此這篇關(guān)于Python數(shù)據(jù)處理的六種方式總結(jié)的文章就介紹到這了,更多相關(guān)Python數(shù)據(jù)處理內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python使用PymuPDF處理PDF文件的操作詳解

    Python使用PymuPDF處理PDF文件的操作詳解

    Python 中的 PymuPDF 是一個(gè)強(qiáng)大的庫,可以讓你輕松地處理 PDF 文件,本文將深入探討 PymuPDF 的用法,包括打開、讀取、修改和創(chuàng)建 PDF 文件,以及文本提取和頁面操作,感興趣的朋友可以參考下
    2023-12-12
  • 詳解Python list和numpy array的存儲(chǔ)和讀取方法

    詳解Python list和numpy array的存儲(chǔ)和讀取方法

    這篇文章主要介紹了詳解Python list和numpy array的存儲(chǔ)和讀取方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • TensorFlow卷積神經(jīng)網(wǎng)絡(luò)之使用訓(xùn)練好的模型識(shí)別貓狗圖片

    TensorFlow卷積神經(jīng)網(wǎng)絡(luò)之使用訓(xùn)練好的模型識(shí)別貓狗圖片

    今天小編就為大家分享一篇關(guān)于TensorFlow卷積神經(jīng)網(wǎng)絡(luò)之使用訓(xùn)練好的模型識(shí)別貓狗圖片,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • 關(guān)于python的編碼與解碼decode()方法及zip()函數(shù)

    關(guān)于python的編碼與解碼decode()方法及zip()函數(shù)

    這篇文章主要介紹了關(guān)于python的編碼與解碼decode()方法及zip()函數(shù),encode0?方法是字符串對(duì)象內(nèi)置的一個(gè)實(shí)現(xiàn)方法用于實(shí)現(xiàn)編碼操作,需要的朋友可以參考下
    2023-04-04
  • Python中用append()連接后多出一列Unnamed的解決

    Python中用append()連接后多出一列Unnamed的解決

    Python中用append()連接后多出一列Unnamed的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • Django+Ajax+jQuery實(shí)現(xiàn)網(wǎng)頁動(dòng)態(tài)更新的實(shí)例

    Django+Ajax+jQuery實(shí)現(xiàn)網(wǎng)頁動(dòng)態(tài)更新的實(shí)例

    今天小編就為大家分享一篇Django+Ajax+jQuery實(shí)現(xiàn)網(wǎng)頁動(dòng)態(tài)更新的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • python爬取微信公眾號(hào)文章的方法

    python爬取微信公眾號(hào)文章的方法

    這篇文章主要為大家詳細(xì)介紹了python爬取微信公眾號(hào)文章的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • 詳解Vue組件動(dòng)態(tài)加載有哪些方式

    詳解Vue組件動(dòng)態(tài)加載有哪些方式

    動(dòng)態(tài)加載組件可以顯著提高應(yīng)用的性能,優(yōu)化用戶體驗(yàn),尤其是在大型應(yīng)用中,合理的組件加載策略尤為重要,本文將探討幾種在Vue中實(shí)現(xiàn)組件動(dòng)態(tài)加載的具體方案,需要的朋友可以參考下
    2024-10-10
  • 對(duì)django 2.x版本中models.ForeignKey()外鍵說明介紹

    對(duì)django 2.x版本中models.ForeignKey()外鍵說明介紹

    這篇文章主要介紹了對(duì)django 2.x版本中models.ForeignKey()外鍵說明介紹,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • Python3.8安裝tensorflow的簡單方法步驟

    Python3.8安裝tensorflow的簡單方法步驟

    最近想要研究一下深度學(xué)習(xí)的應(yīng)用,于是翻了翻了社區(qū)的tensorflow安裝教程,所以下面這篇文章主要給大家介紹了關(guān)于Python3.8安裝tensorflow的簡單方法步驟,需要的朋友可以參考下
    2022-06-06

最新評(píng)論