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

Python數(shù)據(jù)分析之?Pandas?Dataframe合并和去重操作

 更新時(shí)間:2022年05月22日 11:30:13   作者:??tigeriaf????  
這篇文章主要介紹了Python數(shù)據(jù)分析之?Pandas?Dataframe合并和去重操作,文章基于python的相關(guān)資料展開(kāi)詳細(xì)的內(nèi)容介紹,需要的小伙伴可以參考一下

一、之 Pandas Dataframe合并

在數(shù)據(jù)分析中,避免不了要從多個(gè)數(shù)據(jù)集中取數(shù)據(jù),那就避免不了要進(jìn)行數(shù)據(jù)的合并,這篇文章就來(lái)介紹一下 Dataframe 對(duì)象的合并操作。

Pandas 提供了merge()方法來(lái)進(jìn)行合并操作,使用語(yǔ)法如下:

pd.merge(left, right, how="inner", on=None, left_on=None, right_on=None,
left_index=False, right_index=False, sort=False)

常用的參數(shù)說(shuō)明:

  • left、right:指定左右兩個(gè)要進(jìn)行合并的 DataFrame 對(duì)象
  • how:指定合并類(lèi)型,可以選擇left、right、outer、inner,此參數(shù)可以確定以哪邊(左邊、右邊或者左右共有)的鍵為基準(zhǔn),如果出現(xiàn)匹配失敗的用NaN填充,默認(rèn)為inner,具體如下:
    • left:代表左連接,以左DataFrame為基準(zhǔn),右側(cè)匹配失敗的用NaN填充
    • right:代表右連接,以右DataFrame為基準(zhǔn),左側(cè)匹配失敗的用NaN填充
    • inner:代表內(nèi)連接,取交集
    • outer:代表外連接,取并集,匹配失敗的用NaN填充
  • on:指定用于連接的鍵,也就是列名,傳遞改參數(shù)的話,必須保證傳遞的“鍵”在左右兩邊的DataFrame中都存在
  • left_on:指定左側(cè)DataFrame中用于連接的鍵
  • right_on:指定右側(cè)DataFrame中用于連接的鍵
  • left_index & right_index:表示以行索引作為合并基準(zhǔn),默認(rèn)為False
  • sort:指定是否按照字典順序通過(guò)連接鍵對(duì)結(jié)果DataFrame進(jìn)行排序,默認(rèn)為False

例如,對(duì)下面兩個(gè) DataFrame 對(duì)象執(zhí)行合并操作:

import pandas as pd
data = {"name": ["Alice", "Bob", "Cindy", "David"], "age": [25, 23, 28, 24], "gender": ["woman", "man", "woman", "man"]}
df1 = pd.DataFrame(data)
df1

data = {"name": ["Alice", "Bob", "Cindy", "Emilie"], "city": ["beijing", "beijing", "jinan", "shanghai"]}
df2 = pd.DataFrame(data)
df2

使用name作為連接鍵:

merge_pd = pd.merge(df1, df2, on="name")
merge_pd

結(jié)果輸出如下:

設(shè)置為左連接:

merge_pd = pd.merge(df1, df2, on="name", how="left")
merge_pd

結(jié)果輸出如下:

在進(jìn)行數(shù)據(jù)分析時(shí),數(shù)據(jù)的質(zhì)量可能并不理想,有可能包含一些重復(fù)數(shù)據(jù),那我們就要進(jìn)行數(shù)據(jù)的“去重”操作,刪除重復(fù)的數(shù)據(jù),保留唯一的數(shù)據(jù)項(xiàng),從而提高數(shù)據(jù)集整體的精確度,同時(shí)也可以節(jié)省空間、提升讀寫(xiě)性能等,接下來(lái)就來(lái)介紹一下 Pandas Dataframe 的去重操作。

二、去重操作

Pandas 提供了drop_duplicates()方法進(jìn)行數(shù)據(jù)的去重操作,具體使用格式如下:

df.drop_duplicates(subset=None, keep="first", inplace=False, ignore_index=False)

參數(shù)說(shuō)明如下:

  • subset:指定要進(jìn)行去重的列名,默認(rèn)為None,可以使用列表指定一個(gè)或多個(gè)列名
  • keep:有三個(gè)參數(shù)可選:first、last、False,默認(rèn)為first,表示只保留第一次出現(xiàn)的重復(fù)項(xiàng),刪除其余重復(fù)項(xiàng);last表示只保留最后一次出現(xiàn)的重復(fù)項(xiàng);False表示刪除所有重復(fù)項(xiàng)
  • inplace:是否在原Dataframe對(duì)象上進(jìn)行操作
  • ignore_index:默認(rèn)為False,設(shè)置為T(mén)rue可以重新生成行索引。

例如,對(duì)下面 DataFrame 對(duì)象進(jìn)行去重操作:

可以看到該DataFrame 對(duì)象中索引為1、3的行是重復(fù)的,下面進(jìn)行去除:

保留第一次出現(xiàn)的重復(fù)項(xiàng)

df.drop_duplicates(inplace=True)
df

結(jié)果輸出如下:

刪除所有重復(fù)項(xiàng)

df.drop_duplicates(keep=False, inplace=True)
df

結(jié)果輸出如下:

ignore_index參數(shù)使用

df.drop_duplicates(inplace=True, ignore_index=True)
df

ignore_index設(shè)置為T(mén)rue后,通過(guò)結(jié)果可以看到,行索引進(jìn)行了重排。

當(dāng)然drop_duplicates()方法也可以根據(jù)指定列名去重,給subset傳遞參數(shù)即可,例如根據(jù)name列進(jìn)行去重:

df.drop_duplicates(subset=["name"], inplace=True)

到此這篇關(guān)于Python數(shù)據(jù)分析之 Pandas Dataframe合并和去重操作的文章就介紹到這了,更多相關(guān)Pandas Dataframe合并去重內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python Pandas Dataframe.describe()使用及代碼實(shí)例

    Python Pandas Dataframe.describe()使用及代碼實(shí)例

    這篇文章主要介紹了Python Pandas Dataframe.describe()使用及代碼實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • django+echart繪制曲線圖的方法示例

    django+echart繪制曲線圖的方法示例

    這篇文章主要介紹了django+echart繪制曲線圖的方法示例,可以了解Django中aggregate和annotate函數(shù)的使用方法及其Django+Echarts繪制柱狀圖的完整示例,感興趣的小伙伴們可以參考一下
    2018-11-11
  • python連接數(shù)據(jù)庫(kù)后通過(guò)占位符添加數(shù)據(jù)

    python連接數(shù)據(jù)庫(kù)后通過(guò)占位符添加數(shù)據(jù)

    在pymysql中支持對(duì)占位符的處理,開(kāi)發(fā)者需要在SQL中使用“%”定義占位符,在使用excute()方法執(zhí)行時(shí)對(duì)占位符的數(shù)據(jù)進(jìn)行填充即可,本文給大家介紹python連接數(shù)據(jù)庫(kù)后通過(guò)占位符添加數(shù)據(jù)的方法,需要的朋友參考下吧
    2021-12-12
  • 為什么黑客都用python(123個(gè)黑客必備的Python工具)

    為什么黑客都用python(123個(gè)黑客必備的Python工具)

    python支持功能強(qiáng)大的黑客攻擊模塊,而且Python提供多種庫(kù),用于支持黑客攻擊,Python提供了ctypes庫(kù), 借助它, 黑客可以訪問(wèn)Windows、OS X、Linux等系統(tǒng)提供 DLL與共享庫(kù),還有Python語(yǔ)言易學(xué)易用,這對(duì)黑客攻擊而言是個(gè)巨大的優(yōu)勢(shì)。
    2020-01-01
  • Python版中國(guó)省市經(jīng)緯度

    Python版中國(guó)省市經(jīng)緯度

    這篇文章主要介紹了Python版中國(guó)省市經(jīng)緯度,需要的朋友可以參考下
    2020-02-02
  • Python面向?qū)ο缶幊讨?lèi)的進(jìn)階

    Python面向?qū)ο缶幊讨?lèi)的進(jìn)階

    這篇文章主要介紹了Python面向?qū)ο缶幊讨?lèi)的引用,引用 Reference是對(duì)象的指針,引用是內(nèi)存中真實(shí)對(duì)象的指針,表示為變量名或者內(nèi)存地址、每個(gè)對(duì)象存在至少一個(gè)引用,id()函數(shù)用于獲得引用,想具體了解的小伙伴可以參考下面文章的內(nèi)容
    2021-11-11
  • Python 網(wǎng)絡(luò)爬蟲(chóng)--關(guān)于簡(jiǎn)單的模擬登錄實(shí)例講解

    Python 網(wǎng)絡(luò)爬蟲(chóng)--關(guān)于簡(jiǎn)單的模擬登錄實(shí)例講解

    今天小編就為大家分享一篇Python 網(wǎng)絡(luò)爬蟲(chóng)--關(guān)于簡(jiǎn)單的模擬登錄實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • python OpenCV學(xué)習(xí)筆記實(shí)現(xiàn)二維直方圖

    python OpenCV學(xué)習(xí)筆記實(shí)現(xiàn)二維直方圖

    本篇文章主要介紹了python OpenCV學(xué)習(xí)筆記實(shí)現(xiàn)二維直方圖,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-02-02
  • 詳解Python中for循環(huán)是如何工作的

    詳解Python中for循環(huán)是如何工作的

    如果你對(duì)python中的for循環(huán)不是很清楚,那么建議你看看這篇文章,本文主要給大家介紹了關(guān)于Python中for循環(huán)是如何工作的相關(guān)資料,介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。
    2017-06-06
  • 詳解使用python crontab設(shè)置linux定時(shí)任務(wù)

    詳解使用python crontab設(shè)置linux定時(shí)任務(wù)

    本篇文章主要介紹了使用python crontab設(shè)置linux定時(shí)任務(wù),具有一定的參考價(jià)值,有需要的可以了解一下。
    2016-12-12

最新評(píng)論