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

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

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

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

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

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

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

③、df.std():可以求得DataFrame對象每一列的標準差

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

⑤、unique():唯一,去重

⑥、query():按條件查詢

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

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

1、describe()

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

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

默認情況下,describe() 函數(shù)會計算以下統(tǒng)計量(對于數(shù)值型):

  • count:非缺失值的數(shù)量。
  • mean:均值。
  • std:標準差。
  • 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() 方法可以用來計算DataFrame對象每一列的標準差(standard deviation)。默認情況下,這個方法會忽略NaN值,只計算非空值的標準差。

import pandas as pd  
  
# 創(chuàng)建一個簡單的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)  
  
# 計算每一列的標準差  
std_values = df.std()  
  
print(std_values)

3、drop

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

方法簽名

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

參數(shù)說明

  • labels:要刪除的行或列的標簽。
  • axis:指定刪除行(axis=0 或 axis='index')還是列(axis=1 或 axis='columns')。
  • index 和 columns:這些是 labels 的別名,用于分別指定要刪除的行和列。但是,通常建議直接使用 labels 和 axis。
  • inplace:如果為True,則在原始DataFrame上進行修改并返回None。否則,返回一個新的DataFrame。
  • level:對于具有多級索引的DataFrame,指定要刪除的級別。
  • errors:指定如何處理錯誤。默認為 'raise',表示出現(xiàn)錯誤時拋出異常。如果設(shè)置為 'ignore',則忽略錯誤。
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'))  # 默認的情況下刪除一行
print(a.drop(0, axis=1)) # 刪除一列

4、unique()

在Pandas中,unique() 是一個常用的方法,它主要用于獲取Series對象列的唯一值(unique values)。這個方法返回一個NumPy數(shù)組,其中包含Series的唯一值。DataFrame沒有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庫中,query() 方法是DataFrame對象的一個功能強大的工具,用于根據(jù)特定的條件篩選和查詢數(shù)據(jù)。以下是關(guān)于 query() 方法的詳細解釋:

1. 功能概述

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

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

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

  • expr: 表示查詢條件的字符串。
  • inplace: 默認為False,表示不修改原始DataFrame,而是返回一個新的DataFrame。如果設(shè)置為True,則直接在原始DataFrame上進行修改。
  • **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篩選出來
n = 4
print(a.query('A == @n'))  # 這里寫一個@ 在能說明n為標量
# 這里的“ ” 里面可以有and or in ... 

3. 注意事項

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

6、df.sort_values()

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

方法簽名

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

參數(shù)說明

  • by: 需要依據(jù)其值進行排序的列名或列名列表。
  • axis: 排序的軸。0 或 'index' 表示沿著行進行排序(即按列的值排序),1 或 'columns' 表示沿著列進行排序(DataFrame中不支持按列排序,因此這個參數(shù)通常設(shè)置為0或'index')。
  • ascending: 排序方向,默認為True(升序),如果為False則為降序。
  • inplace: 是否在原地進行修改,默認為False(返回新的DataFrame),如果為True則直接在原DataFrame上進行修改。
  • kind: 排序算法的類型,默認為'quicksort'。對于大型數(shù)據(jù)集,'mergesort'和'heapsort'可能更為合適。
  • na_position: 缺失值(NaN)的位置,默認為'last'(在末尾),如果為'first'則在開頭。
  • ignore_index: 重新設(shè)置結(jié)果的索引,默認為False。如果為True,則結(jié)果索引將會是整數(shù)型的默認索引。
  • key: 應(yīng)用于每一列元素在進行比較之前的函數(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'))  # 默認的是升序
print(a.sort_values('A', ascending=False)) # 通過修改ascending=False 變?yōu)榻敌?
print(a.sort_values('a', axis=1))

7、sort_index()

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

方法功能

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

方法簽名

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ù)說明

axis

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

level

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

ascending

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

inplace

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

kind

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

na_position

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

sort_remaining

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

ignore_index

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

key

  • 應(yīng)用于索引值進行排序前的函數(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))  # 按照列索引進行排序
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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

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

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

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

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

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

    在Python 3中緩存Exception對象會造成什么后果?

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

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

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

    淺談五大Python Web框架

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

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

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

    Python字典實現(xiàn)簡單的三級菜單(實例講解)

    下面小編就為大家?guī)硪黄狿ython字典實現(xiàn)簡單的三級菜單(實例講解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • numpy 產(chǎn)生隨機數(shù)的幾種方法

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

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

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

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

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

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

最新評論