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

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

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

前言

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

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

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

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ù)去重比較好操作,就是去除一個列表中的重復(fù)數(shù)據(jù),如果是數(shù)字類型的list列表,可以對原始值進行去重也可以對其絕對值進行去重操作。

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

pprint(list_)

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

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

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)建了一個多重數(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)將我們定義的一個四層的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()分組運算

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

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

pprint(list_)

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

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

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

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

list_ = (
        [
            {
                '姓名': 'Pytonh ',
                '年齡': '19',
                '班級': '1710'
            },
            {
                '姓名': 'Pytonh ',
                '年齡': '20',
                '班級': '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ù)的排序使用相對于分組來說就更簡單了,同樣創(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è)置為False時則為升序排序。

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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python中if和elif的用法示例及區(qū)別詳解

    Python中if和elif的用法示例及區(qū)別詳解

    這篇文章主要給大家介紹了關(guān)于Python中if和elif的用法示例及區(qū)別的相關(guān)資料,除了基本的if和else語句外,elif(即else?if)也是一個非常重要的組成部分,需要的朋友可以參考下
    2024-04-04
  • python實現(xiàn)三維擬合的方法

    python實現(xiàn)三維擬合的方法

    今天小編就為大家分享一篇python實現(xiàn)三維擬合的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • Python畫圖高斯分布的示例

    Python畫圖高斯分布的示例

    今天小編就為大家分享一篇Python畫圖高斯分布的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Python關(guān)鍵字yield的用法詳解

    Python關(guān)鍵字yield的用法詳解

    在Python編程中,有一個強大而神秘的關(guān)鍵字,那就是yield,初學(xué)者常常被它搞得暈頭轉(zhuǎn)向,而高級開發(fā)者則借助它實現(xiàn)高效的代碼,到底yield是什么?它又是如何在Python代碼中發(fā)揮作用的呢?讓我們一起來揭開它的面紗
    2024-07-07
  • Django上使用數(shù)據(jù)可視化利器Bokeh解析

    Django上使用數(shù)據(jù)可視化利器Bokeh解析

    這篇文章主要介紹了Django上使用數(shù)據(jù)可視化利器Bokeh解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-07-07
  • python str字符串轉(zhuǎn)uuid實例

    python str字符串轉(zhuǎn)uuid實例

    這篇文章主要介紹了python str字符串轉(zhuǎn)uuid實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • python dict亂碼如何解決

    python dict亂碼如何解決

    在本篇文章里小編給大家分享了關(guān)于python dict亂碼解決方法,需要的朋友們可以參考下。
    2020-06-06
  • python logging模塊的使用總結(jié)

    python logging模塊的使用總結(jié)

    這篇文章主要介紹了python logging模塊使用總結(jié)以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。,需要的朋友可以參考下
    2019-07-07
  • Python Tkinter之事件處理詳解

    Python Tkinter之事件處理詳解

    事件處理,是 GUI 程序中不可或缺的重要組成部分,相比來說,控件只是組成一臺機器的零部件。本文我們將對 Tkinter 中的事件處理機制做詳細的介紹,需要的可以參考一下
    2022-01-01
  • 在Python中如何優(yōu)雅地創(chuàng)建表格的實現(xiàn)

    在Python中如何優(yōu)雅地創(chuàng)建表格的實現(xiàn)

    本文主要介紹了在Python中如何優(yōu)雅地創(chuàng)建表格的實現(xiàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01

最新評論

清新县| 杂多县| 松江区| 北辰区| 博野县| 苗栗县| 石楼县| 图们市| 通许县| 全州县| 丹棱县| 中牟县| 慈利县| 衡南县| 忻城县| 南开区| 望谟县| 察隅县| 石棉县| 鄂州市| 林州市| 梅州市| 民权县| 文成县| 平顶山市| 安图县| 尼玛县| 廉江市| 忻城县| 平潭县| 乌拉特中旗| 阿合奇县| 进贤县| 澜沧| 泊头市| 凌云县| 龙口市| 江口县| 滨州市| 临漳县| 黄山市|