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

Pandas異常值處理小結(jié)

 更新時(shí)間:2024年07月24日 11:32:39   作者:起名字真難.  
在Pandas中,異常值是數(shù)據(jù)中那些與其他數(shù)據(jù)點(diǎn)顯著不同的點(diǎn)本文主要介紹了Pandas異常值處理小結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

在Pandas中,異常值(或稱為離群值)是數(shù)據(jù)中那些與其他數(shù)據(jù)點(diǎn)顯著不同的點(diǎn)。這些異常值可能是由于錯(cuò)誤、異常事件或數(shù)據(jù)的自然變異產(chǎn)生的。處理異常值的方法取決于數(shù)據(jù)的性質(zhì)、分析的目的以及異常值對(duì)分析的影響。

在異常值處理的時(shí)候可能會(huì)用到的函數(shù)

①、describe():查看每一列的描述性統(tǒng)計(jì)量

②、df.info():查看數(shù)據(jù)信息

③、df.std():可以求得DataFrame對(duì)象每一列的標(biāo)準(zhǔn)差

④、df.drop():刪除特定索引

⑤、unique():唯一,去重

⑥、query():按條件查詢

⑦、df.sort_values():根據(jù)值排序

⑧、sort_index():根據(jù)索引排序...

1、describe()

   describe() 函數(shù)在 Pandas 中是一個(gè)用于生成 DataFrame 或 Series 中數(shù)值列統(tǒng)計(jì)摘要的便捷方法。它提供了豐富的描述性統(tǒng)計(jì)信息,幫助用戶快速了解數(shù)據(jù)的分布情況??梢岳?T轉(zhuǎn)置。

默認(rèn)參數(shù)下的輸出

默認(rèn)情況下,describe() 函數(shù)會(huì)計(jì)算以下統(tǒng)計(jì)量(對(duì)于數(shù)值型):

  • count:非缺失值的數(shù)量。
  • mean:均值。
  • std:標(biāo)準(zhǔn)差。
  • min:最小值。
  • 25%:第一四分位數(shù)(或稱為25%分位數(shù))。
  • 50%:第二四分位數(shù)(中位數(shù))。
  • 75%:第三四分位數(shù)。
  • max:最大值。
import pandas as pd
data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
a = pd.DataFrame(data, index=['a', 'b', 'c'])
print(a.describe())

2、std

   DataFrame.std() 方法可以用來(lái)計(jì)算DataFrame對(duì)象每一列的標(biāo)準(zhǔn)差(standard deviation)。默認(rèn)情況下,這個(gè)方法會(huì)忽略NaN值,只計(jì)算非空值的標(biāo)準(zhǔn)差。

import pandas as pd  
  
# 創(chuàng)建一個(gè)簡(jiǎn)單的DataFrame  
data = {  
    'A': [1, 2, 3, 4, 5],  
    'B': [10, 20, 30, 20, 50],  
    'C': [pd.np.nan, 2, 4, 4, 6]  # 包含NaN值  
}  
df = pd.DataFrame(data)  
  
# 計(jì)算每一列的標(biāo)準(zhǔn)差  
std_values = df.std()  
  
print(std_values)

3、drop

在Pandas中,DataFrame.drop() 方法用于刪除行或列。這個(gè)方法非常有用,特別是當(dāng)你需要清理數(shù)據(jù)或去除某些不需要的行/列時(shí)。

方法簽名

DataFrame.drop(labels=None, axis=0, index=None, columns=None, inplace=False, level=None, errors='raise')

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

  • labels:要?jiǎng)h除的行或列的標(biāo)簽。
  • axis:指定刪除行(axis=0 或 axis='index')還是列(axis=1 或 axis='columns')。
  • index 和 columns:這些是 labels 的別名,用于分別指定要?jiǎng)h除的行和列。但是,通常建議直接使用 labels 和 axis
  • inplace:如果為T(mén)rue,則在原始DataFrame上進(jìn)行修改并返回None。否則,返回一個(gè)新的DataFrame。
  • level:對(duì)于具有多級(jí)索引的DataFrame,指定要?jiǎng)h除的級(jí)別。
  • errors:指定如何處理錯(cuò)誤。默認(rèn)為 'raise',表示出現(xiàn)錯(cuò)誤時(shí)拋出異常。如果設(shè)置為 'ignore',則忽略錯(cuò)誤。
import pandas as pd
data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
a = pd.DataFrame(data, index=['a', 'b', 'c'])
print(a.drop('a'))  # 默認(rèn)的情況下刪除一行
print(a.drop(0, axis=1)) # 刪除一列

4、unique()

在Pandas中,unique() 是一個(gè)常用的方法,它主要用于獲取Series對(duì)象列的唯一值(unique values)。這個(gè)方法返回一個(gè)NumPy數(shù)組,其中包含Series的唯一值。DataFrame沒(méi)有unidue。

import pandas as pd
data = [[4, 2, 3], [4, 5, 6], [7, 8, 9]]
a = pd.DataFrame(data, index=['a', 'b', 'c'])
print(a[0].unique())

5、query()

在Pandas庫(kù)中,query() 方法是DataFrame對(duì)象的一個(gè)功能強(qiáng)大的工具,用于根據(jù)特定的條件篩選和查詢數(shù)據(jù)。以下是關(guān)于 query() 方法的詳細(xì)解釋:

1. 功能概述

  • query() 方法允許用戶根據(jù)邏輯表達(dá)式(可以是單個(gè)條件或組合條件)來(lái)篩選DataFrame中的數(shù)據(jù)。
  • 它返回一個(gè)新的DataFrame,其中僅包含滿足給定條件的數(shù)據(jù)行。
  • 與 loc 和 iloc 相比,query() 方法提供了更直觀、類似于SQL的語(yǔ)法,使得篩選條件更易讀、易寫(xiě)。

2. 語(yǔ)法結(jié)構(gòu)

DataFrame.query(expr, inplace=False, **kwargs)

  • expr: 表示查詢條件的字符串。
  • inplace: 默認(rèn)為False,表示不修改原始DataFrame,而是返回一個(gè)新的DataFrame。如果設(shè)置為T(mén)rue,則直接在原始DataFrame上進(jìn)行修改。
  • **kwargs: 其他關(guān)鍵字參數(shù),通常與 eval() 方法的參數(shù)相關(guān)。
import pandas as pd
data = [[4, 2, 3], [4, 5, 6], [7, 8, 9]]
a = pd.DataFrame(data, index=['a', 'b', 'c'], columns=list("ABC"))
print(a.query(' A== 4'))  # 把A == 4篩選出來(lái)
n = 4
print(a.query('A == @n'))  # 這里寫(xiě)一個(gè)@ 在能說(shuō)明n為標(biāo)量
# 這里的“ ” 里面可以有and or in ... 

3. 注意事項(xiàng)

  • query() 方法只能用于篩選行,不能用于篩選列。
  • 查詢條件字符串中的列名必須與DataFrame中的列名完全匹配(包括大小寫(xiě))。
  • 在使用變量時(shí),請(qǐng)確保變量在調(diào)用 query() 方法之前已經(jīng)被定義并賦值。
  • 當(dāng)使用復(fù)雜的查詢條件時(shí),建議使用括號(hào)來(lái)明確運(yùn)算符的優(yōu)先級(jí),以避免潛在的錯(cuò)誤。

6、df.sort_values()

在Pandas庫(kù)中,DataFrame.sort_values() 方法是用于對(duì)DataFrame中的數(shù)據(jù)按照一個(gè)或多個(gè)列的值進(jìn)行排序的。這個(gè)方法非常有用,特別是當(dāng)你需要按照某個(gè)或某些列的值對(duì)數(shù)據(jù)進(jìn)行排序以便進(jìn)一步分析或可視化時(shí)。

方法簽名

DataFrame.sort_values(by, axis=0, ascending=True, inplace=False, kind='quicksort', na_position='last', ignore_index=False, key=None)

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

  • by: 需要依據(jù)其值進(jìn)行排序的列名或列名列表。
  • axis: 排序的軸。0 或 'index' 表示沿著行進(jìn)行排序(即按列的值排序),1 或 'columns' 表示沿著列進(jìn)行排序(DataFrame中不支持按列排序,因此這個(gè)參數(shù)通常設(shè)置為0或'index')。
  • ascending: 排序方向,默認(rèn)為T(mén)rue(升序),如果為False則為降序。
  • inplace: 是否在原地進(jìn)行修改,默認(rèn)為False(返回新的DataFrame),如果為T(mén)rue則直接在原DataFrame上進(jìn)行修改。
  • kind: 排序算法的類型,默認(rèn)為'quicksort'。對(duì)于大型數(shù)據(jù)集,'mergesort'和'heapsort'可能更為合適。
  • na_position: 缺失值(NaN)的位置,默認(rèn)為'last'(在末尾),如果為'first'則在開(kāi)頭。
  • ignore_index: 重新設(shè)置結(jié)果的索引,默認(rèn)為False。如果為T(mén)rue,則結(jié)果索引將會(huì)是整數(shù)型的默認(rèn)索引。
  • key: 應(yīng)用于每一列元素在進(jìn)行比較之前的函數(shù)。
import pandas as pd
data = [[9, 2, 3], [4, 5, 6], [1, 8, 9]]
a = pd.DataFrame(data, index=['a', 'b', 'c'], columns=list("ABC"))
print(a.sort_values('A'))  # 默認(rèn)的是升序
print(a.sort_values('A', ascending=False)) # 通過(guò)修改ascending=False 變?yōu)榻敌?
print(a.sort_values('a', axis=1))

7、sort_index()

sort_index() 是 Pandas 庫(kù)中 DataFrame 和 Series 對(duì)象的一個(gè)方法,用于根據(jù)索引值對(duì)數(shù)據(jù)進(jìn)行排序。以下是關(guān)于 sort_index() 方法的詳細(xì)解釋:

方法功能

  • sort_index() 主要用于對(duì) DataFrame 或 Series 對(duì)象進(jìn)行索引排序。
  • 默認(rèn)情況下,它會(huì)根據(jù)索引的升序(ascending=True)進(jìn)行排.

方法簽名

DataFrame.sort_index(*, axis=0, level=None, ascending=True, inplace=False, kind='quicksort', na_position='last', sort_remaining=True, ignore_index=False, key=None)

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

axis

  • 默認(rèn)為 0,表示按行索引(index)進(jìn)行排序。
  • 如果設(shè)置為 1 或 'columns',則按列索引(columns)進(jìn)行排序(但實(shí)際應(yīng)用中按列索引排序的情況較少)。

level

  • 當(dāng)索引是多重索引時(shí),可以指定按哪一個(gè)或多個(gè)級(jí)別進(jìn)行排序。
  • 默認(rèn)為 None,表示按多重索引的第一個(gè)級(jí)別排序。

ascending

  • 排序順序,默認(rèn)為 True,表示升序排序。
  • 如果設(shè)置為 False,則進(jìn)行降序排序。

inplace

  • 是否直接在原對(duì)象上進(jìn)行修改,默認(rèn)為 False。
  • 如果設(shè)置為 True,則直接在原 DataFrame 或 Series 上進(jìn)行排序,不返回新的對(duì)象。

kind

  • 排序算法的種類,默認(rèn)為 'quicksort'。
  • 對(duì)于大型數(shù)據(jù)集,可以選擇其他算法,如 'mergesort'。

na_position

  • 缺失值(NaN)的位置,默認(rèn)為 'last',表示將 NaN 值放在最后。
  • 如果設(shè)置為 'first',則將 NaN 值放在前面。

sort_remaining

  • 當(dāng)對(duì)多重索引的特定級(jí)別進(jìn)行排序時(shí),此參數(shù)控制是否對(duì)非指定級(jí)別進(jìn)行排序。
  • 默認(rèn)為 True。

ignore_index

  • 當(dāng)對(duì)多重索引進(jìn)行排序時(shí),此參數(shù)控制是否重置排序后的索引。
  • 默認(rèn)為 False,即保留多重索引。

key

  • 應(yīng)用于索引值進(jìn)行排序前的函數(shù)。
import pandas as pd
data = [[9, 2, 3], [4, 5, 6], [1, 8, 9]]
a = pd.DataFrame(data, index=['d', 'b', 'c'], columns=list("DBC"))
print(a.sort_index()) # 按照行索引排序
print(a.sort_index(axis=1))  # 按照列索引進(jìn)行排序
li = [1, 2, 3]
b = pd.Series(li, index=['c', 'b', 'a'])
print(b.sort_index())

到此這篇關(guān)于Pandas異常值處理小結(jié)的文章就介紹到這了,更多相關(guān)Pandas異常值內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • Tensorflow之梯度裁剪的實(shí)現(xiàn)示例

    Tensorflow之梯度裁剪的實(shí)現(xiàn)示例

    這篇文章主要介紹了Tensorflow之梯度裁剪的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • python實(shí)現(xiàn)多線程抓取知乎用戶

    python實(shí)現(xiàn)多線程抓取知乎用戶

    本文給大家分享的是如何使用Python實(shí)現(xiàn)多線程抓取知乎用戶的思路以及代碼,非常的詳細(xì),作者使用本程序成功抓取到了百萬(wàn)用戶,有需要的小伙伴可以參考下
    2016-12-12
  • 在Python 3中緩存Exception對(duì)象會(huì)造成什么后果?

    在Python 3中緩存Exception對(duì)象會(huì)造成什么后果?

    這篇文章主要介紹了在Python 3中緩存Exception對(duì)象到底會(huì)造成什么后果?下面帶著這個(gè)問(wèn)題一起看看文章的解析,需要的朋友可以參考一下
    2021-12-12
  • Python函數(shù)中的可變長(zhǎng)參數(shù)詳解

    Python函數(shù)中的可變長(zhǎng)參數(shù)詳解

    在本篇文章里小編給大家整理的是關(guān)于Python函數(shù)中的可變長(zhǎng)參數(shù)的相關(guān)知識(shí)點(diǎn)內(nèi)容,有需要的朋友們參考下。
    2019-09-09
  • 淺談五大Python Web框架

    淺談五大Python Web框架

    Python這么多框架,能挨個(gè)玩?zhèn)€遍的人不多,坦白的說(shuō)我也只用過(guò)其中的三個(gè)開(kāi)發(fā)過(guò)項(xiàng)目,另外一些稍微接觸過(guò),所以這里只能淺談一下,歡迎懂行的朋友們補(bǔ)充
    2017-03-03
  • 使用虛擬環(huán)境打包python為exe 文件的方法

    使用虛擬環(huán)境打包python為exe 文件的方法

    這篇文章主要介紹了關(guān)于使用虛擬環(huán)境打包python為exe 文件的方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-08-08
  • Python字典實(shí)現(xiàn)簡(jiǎn)單的三級(jí)菜單(實(shí)例講解)

    Python字典實(shí)現(xiàn)簡(jiǎn)單的三級(jí)菜單(實(shí)例講解)

    下面小編就為大家?guī)?lái)一篇Python字典實(shí)現(xiàn)簡(jiǎn)單的三級(jí)菜單(實(shí)例講解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-07-07
  • numpy 產(chǎn)生隨機(jī)數(shù)的幾種方法

    numpy 產(chǎn)生隨機(jī)數(shù)的幾種方法

    本文主要介紹了numpy 產(chǎn)生隨機(jī)數(shù)的幾種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • Python坐標(biāo)軸操作及設(shè)置代碼實(shí)例

    Python坐標(biāo)軸操作及設(shè)置代碼實(shí)例

    這篇文章主要介紹了Python坐標(biāo)軸操作及設(shè)置代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • matplotlib之Pyplot模塊繪制三維散點(diǎn)圖使用顏色表示數(shù)值大小

    matplotlib之Pyplot模塊繪制三維散點(diǎn)圖使用顏色表示數(shù)值大小

    在撰寫(xiě)論文時(shí)常常會(huì)用到matplotlib來(lái)繪制三維散點(diǎn)圖,下面這篇文章主要給大家介紹了關(guān)于matplotlib之Pyplot模塊繪制三維散點(diǎn)圖使用顏色表示數(shù)值大小的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08

最新評(píng)論