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

Python教程pandas數(shù)據(jù)分析去重復(fù)值

 更新時(shí)間:2021年09月16日 10:29:32   作者:sharon@zhang  
Pandas指定行進(jìn)行去重更新值,加載數(shù)據(jù)sample抽樣函數(shù),指定需要更新的值append直接添加append函數(shù)用法,根據(jù)某一列key值進(jìn)行去重key唯一

加載數(shù)據(jù)

首先,我們需要加載到所需要的數(shù)據(jù),這里我們所需要的數(shù)據(jù)是同過(guò)sample函數(shù)采樣過(guò)來(lái)的。

import pandas as pd 
#這里說(shuō)明一下,clean_beer.csv數(shù)據(jù)有兩千多行數(shù)據(jù)
#所以從其中采樣一部分,來(lái)進(jìn)行演示,當(dāng)然可以簡(jiǎn)單實(shí)用data.head()也可以做練習(xí)
data = pd.read_csv('clean_beer.csv')
data_sam = data.sample(frac=0.1,weights=data['ounces'].values)
data_sam1 = data_sam
data_sam

我們采用data[‘ounces']列為權(quán)重對(duì)數(shù)據(jù)進(jìn)行采樣,并將結(jié)果賦值給data_sam1,其中data_sam和data_sam1是后續(xù)我們需要用到的兩個(gè)數(shù)據(jù)(因?yàn)樾枰獙蓚€(gè)數(shù)據(jù)合并,并去除重復(fù))

此時(shí),data_sam和data_sam1的數(shù)據(jù)是一樣的。

data_sam數(shù)據(jù)

data_sam

data_sam

data_sam1數(shù)據(jù)

data_sam1

在這里插入圖片描述

sample抽樣函數(shù)

簡(jiǎn)要介紹一下sample函數(shù)

df.sample()就是抽樣函數(shù),參數(shù)如下:

df.sample(n=None,frac=None,replace=Flase,weights=None,random_state=None,axis=None)

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

n:就是樣本量,如果不寫(xiě),就是抽一條數(shù)據(jù)

frac:抽樣比,就是樣本量占全樣本的比例,如frac=0.3 ,注意n和frac不能共存

replace:是否放回,默認(rèn)是不放回,如果有放回(replace=True)可以選擇比df長(zhǎng)度更多的元素回來(lái)

weights:樣本權(quán)重,自動(dòng)歸一化,可以以某一列為權(quán)重

random_state:隨機(jī)狀態(tài)。就是為了保證程序每次運(yùn)行得到的結(jié)果都一樣

axis:抽樣維度,0是行,1是列,默認(rèn)為0

指定需要更新的值

接下來(lái),我們對(duì)data_sam1的值進(jìn)行更新,主要是將data_sam1的ounces屬性列值加上后綴'.0 oz',具體代碼如下:

data_sam1['ounces'] = data_sam1['ounces'].astype('str') + '.0 oz'
data_sam1

對(duì)data_sam1的值進(jìn)行顯示,其中我們可以看到,ounces的值已經(jīng)全部加上了我們所指定的后綴:

在這里插入圖片描述

現(xiàn)在,我們已經(jīng)得到的新的值,接下來(lái)的目標(biāo)就是如何將我們已經(jīng)得到的新值,更新到data_sam中

append直接添加

從標(biāo)題可以看到,我們使用的是append方法進(jìn)行直接添加。

data_sam = data_sam.append(data_sam1,ignore_index=True)
data_sam

我們將data_sam1使用append方法添加到data_sam最后一行的后面。下面展示其結(jié)果,并詳細(xì)介紹append的用法。

append

可以看到,行數(shù)已經(jīng)有原來(lái)的241改為現(xiàn)在的482rows,顯然我們此時(shí)已經(jīng)成功使用append添加數(shù)據(jù)成功。不過(guò)我們想要的不止是簡(jiǎn)簡(jiǎn)單單的添加數(shù)據(jù)在最后一行,而是想要把我們?cè)黾雍缶Y的那一列更新到原來(lái)的數(shù)據(jù)中,所以最后一步就是去重。

append函數(shù)用法

append()函數(shù)的語(yǔ)法為:

DataFrame.append(other,ignore_index=False,verify_integrity=False,sort=None)

參數(shù)說(shuō)明:
other: DataFrame,Series或Dict式對(duì)象,其行將添加到調(diào)用方DataFrame中。

ignore_index: 如果為T(mén)rue,則將忽略源DataFrame對(duì)象中的索引。

verify_integrity:如果為T(mén)rue,則在創(chuàng)建具有重復(fù)項(xiàng)的索引時(shí)引發(fā)ValueError 。

sort: 如果源DataFrame列未對(duì)齊,則對(duì)列進(jìn)行排序。 不建議使用此功能。 因此,我們必須傳遞sort=True來(lái)排序和靜音警告消息。 如果傳遞了sort=False ,則不會(huì)對(duì)列進(jìn)行排序,并且會(huì)忽略警告。

根據(jù)某一列key值進(jìn)行去重(key唯一)

接下來(lái),就是最后一個(gè)步驟,也就是根據(jù)ounces列對(duì)數(shù)據(jù)進(jìn)行去重。
通過(guò)duplicated()函數(shù)可以看到數(shù)據(jù)還是有很多重復(fù)的。

data_sam.duplicated(['id'],keep='first')

在這里插入圖片描述

DataFrame.drop_duplicated(self,subset = None,keep ='first')
subset : 列標(biāo)簽或標(biāo)簽序列,可選僅考慮某些列來(lái)標(biāo)識(shí)重復(fù)項(xiàng),默認(rèn)情況下使用所有列
keep : {'first','last',F(xiàn)alse},默認(rèn)為'first'
		first:將重復(fù)項(xiàng)標(biāo)記True為第一次出現(xiàn)的除外。
		last:將重復(fù)項(xiàng)標(biāo)記True為最后一次除外。
		False:將所有重復(fù)項(xiàng)標(biāo)記為T(mén)rue。

既然知道數(shù)據(jù)中是有重復(fù)項(xiàng)的,通過(guò)對(duì)數(shù)據(jù)的觀察可以看到,數(shù)據(jù)的id是唯一的,所以我們以id這一列為契機(jī),來(lái)進(jìn)行我們的去重操作。具體代碼如下:

data_sam = data_sam.drop_duplicates(subset = 'id')
data_sam

最后來(lái)看一看,我們最后的結(jié)果是不是已經(jīng)成功去重,或者說(shuō)是不是我們想要的最終結(jié)果呢???

在這里插入圖片描述

根據(jù)上面的圖片結(jié)果,可以看到我們已經(jīng)執(zhí)行成功,得到的確實(shí)是我們起初想要的一個(gè)數(shù)據(jù)結(jié)果。有興趣的也可以去試一下merge和update聯(lián)合的操作進(jìn)行更新數(shù)據(jù),看看是不是也能成功。

以上就是Python教程pandas數(shù)據(jù)分析的詳細(xì)內(nèi)容,希望通過(guò)記錄能夠加強(qiáng)記憶,并幫到和我一樣正在學(xué)習(xí)的你,更多關(guān)于pandas數(shù)據(jù)分析去重復(fù)值的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!感謝閱讀~

相關(guān)文章

  • Python爬蟲(chóng) bilibili視頻彈幕提取過(guò)程詳解

    Python爬蟲(chóng) bilibili視頻彈幕提取過(guò)程詳解

    這篇文章主要介紹了Python爬蟲(chóng) bilibili視頻彈幕提取過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • Python實(shí)現(xiàn)圖片拼接的代碼

    Python實(shí)現(xiàn)圖片拼接的代碼

    本文通過(guò)實(shí)例代碼給大家介紹了python實(shí)現(xiàn)圖片拼接的方法,非常不錯(cuò),具有一定的參考借鑒借鑒價(jià)值,需要的朋友參考下吧
    2018-07-07
  • python驗(yàn)證多組數(shù)據(jù)之間有無(wú)顯著差異

    python驗(yàn)證多組數(shù)據(jù)之間有無(wú)顯著差異

    這篇文章主要介紹了python驗(yàn)證多組數(shù)據(jù)之間有無(wú)顯著差異,利用方差分析和卡方分布驗(yàn)證多組數(shù)據(jù)之間的某些屬性有無(wú)顯著性差異,對(duì)于連續(xù)性屬性可以用方差分析,對(duì)于離散型屬性可以用卡方檢驗(yàn)。下面文章詳細(xì)內(nèi)容需要的小伙伴可以參考一下
    2022-01-01
  • Python?flask使用ajax上傳文件的示例代碼

    Python?flask使用ajax上傳文件的示例代碼

    這篇文章主要介紹了Python?flask使用ajax上傳文件,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-07-07
  • python生成任意頻率正弦波方式

    python生成任意頻率正弦波方式

    今天小編就為大家分享一篇python生成任意頻率正弦波方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-02-02
  • Python中sys模塊功能與用法實(shí)例詳解

    Python中sys模塊功能與用法實(shí)例詳解

    這篇文章主要介紹了Python中sys模塊功能與用法,結(jié)合實(shí)例形式詳細(xì)分析了Python sys模塊基本功能、原理、使用方法及操作注意事項(xiàng),需要的朋友可以參考下
    2020-02-02
  • Python多進(jìn)程multiprocessing.Pool類(lèi)詳解

    Python多進(jìn)程multiprocessing.Pool類(lèi)詳解

    這篇文章主要為大家詳細(xì)介紹了Python多進(jìn)程multiprocessing.Pool類(lèi),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • python數(shù)據(jù)處理之Pandas類(lèi)型轉(zhuǎn)換的實(shí)現(xiàn)

    python數(shù)據(jù)處理之Pandas類(lèi)型轉(zhuǎn)換的實(shí)現(xiàn)

    本文主要介紹了python數(shù)據(jù)處理之Pandas類(lèi)型轉(zhuǎn)換的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • Python實(shí)現(xiàn)扣除個(gè)人稅后的工資計(jì)算器示例

    Python實(shí)現(xiàn)扣除個(gè)人稅后的工資計(jì)算器示例

    這篇文章主要介紹了Python實(shí)現(xiàn)扣除個(gè)人稅后的工資計(jì)算器,涉及Python流程控制與數(shù)學(xué)運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下
    2018-03-03
  • 如何通過(guò)安裝HomeBrew來(lái)安裝Python3

    如何通過(guò)安裝HomeBrew來(lái)安裝Python3

    這篇文章主要介紹了如何通過(guò)安裝HomeBrew來(lái)安裝Python3,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12

最新評(píng)論