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

Python NaN空值的處理示例詳解

 更新時間:2023年11月13日 11:20:33   作者:piaow_  
這篇文章主要介紹了Python NaN空值的處理,通過本文的介紹,對Python去掉數(shù)組中的空值NaN有了更加深入的了解,在實(shí)際的數(shù)據(jù)分析工作中,我們可以根據(jù)具體的情況選擇合,需要的朋友可以參考下

Python NaN空值的處理

一、先讀取數(shù)據(jù)集

將讀取的表格信息命名為df

import pandas as pd
import warnings
warnings.filterwarnings('ignore')
f = open(r"D:\Python\abalone.csv")
df = pd.read_csv(f,sep=",")
df.head()

此時df為DataFrame的格式

二、檢查是否有空值

null_all = df.isnull().sum()
null_all

三、對空值進(jìn)行填補(bǔ)

語法參數(shù)介紹

fillna(value=None, method=None, axis=None, inplace=False, limit=None, downcast=None, **kwargs)
#value:固定值,可以用固定數(shù)字、均值、中位數(shù)、眾數(shù)等,此外還可以用字典,series等形式數(shù)據(jù);
#method:填充方法,'bfill','backfill','pad','ffill'
#axis: 填充方向,默認(rèn)0和index,還可以填1和columns
#inplace:在原有數(shù)據(jù)上直接修改
#limit:填充個數(shù),如1,每列只填充1個缺失值

這里用中位值填補(bǔ)

# 中位值填補(bǔ)空值
df.fillna(df.median(),inplace=True)

再次查看,確認(rèn)

最后:關(guān)于更多填補(bǔ)方式,可以自行學(xué)習(xí),這里只做簡單介紹。

解決python去掉數(shù)組中的空值nan的具體操作步驟

Python去掉數(shù)組中的空值nan
在Python的數(shù)據(jù)分析和科學(xué)計(jì)算中,經(jīng)常會遇到包含空值或NaN(Not a Number)的數(shù)據(jù)。NaN可以表示缺失值或無效值,對于數(shù)據(jù)分析任務(wù)來說,需要將這些NaN值從數(shù)據(jù)中去掉或處理。本文將介紹如何使用Python去掉數(shù)組中的空值NaN,以及一些常用的處理方法。

1. 什么是NaN

NaN是一種特殊的浮點(diǎn)數(shù),在Python中使用float類型表示。它表示一個無效的或不可用的數(shù)值。NaN在數(shù)據(jù)分析中通常表示缺失值,例如在采集數(shù)據(jù)的過程中出現(xiàn)了問題或者數(shù)據(jù)缺失的情況。

2. 如何去掉數(shù)組中的空值NaN

在Python中,我們可以使用NumPy庫來處理數(shù)組中的空值NaN。NumPy是一個功能強(qiáng)大的科學(xué)計(jì)算庫,提供了對多維數(shù)組的支持。

首先,我們需要導(dǎo)入NumPy庫,并創(chuàng)建一個包含NaN的數(shù)組:

import numpy as np
arr = np.array([1, 2, np.nan, 3, np.nan])
print(arr)

輸出結(jié)果為:

[ 1.  2. nan  3. nan]

接下來,我們可以使用NumPy提供的函數(shù)來處理這些NaN值。其中,isnan()函數(shù)可以用來檢測數(shù)組中的NaN值,返回一個布爾數(shù)組。

mask = np.isnan(arr)
print(mask)

輸出結(jié)果為:

[False False  True False  True]

可以看到,mask數(shù)組中的True表示對應(yīng)位置上的值是NaN,F(xiàn)alse表示不是NaN。接下來,我們可以使用~操作符來取反,將True轉(zhuǎn)換為False,F(xiàn)alse轉(zhuǎn)換為True。

arr = arr[~mask]
print(arr)

輸出結(jié)果為:

[1. 2. 3.]

由于~mask是一個布爾數(shù)組,我們可以將其作為索引來獲取對應(yīng)的值。上面的代碼即可將數(shù)組中的NaN值去掉。

3. 其他處理方法

除了使用NumPy庫提供的函數(shù)去掉數(shù)組中的NaN值外,我們還可以使用其他一些處理方法。

3.1 使用pandas庫

pandas是另一個常用的數(shù)據(jù)分析庫,它提供了更高級的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)處理功能。我們可以將數(shù)組轉(zhuǎn)換為pandas的Series或DataFrame對象,然后使用dropna()函數(shù)去掉其中的NaN值。

import pandas as pd
s = pd.Series([1, 2, np.nan, 3, np.nan])
s = s.dropna()
print(s)

輸出結(jié)果為:

0    1.0
1    2.0
3    3.0
dtype: float64

3.2 使用列表推導(dǎo)式

除了使用庫函數(shù)外,我們還可以使用列表推導(dǎo)式來去掉數(shù)組中的NaN值。列表推導(dǎo)式是一種簡潔的語法,可以用來創(chuàng)建新的列表。

arr = [x for x in arr if not np.isnan(x)]
print(arr)

輸出結(jié)果為:

[1.0, 2.0, 3.0]

4. 總結(jié)

在Python的數(shù)據(jù)分析和科學(xué)計(jì)算中,經(jīng)常需要處理含有NaN值的數(shù)組。本文介紹了使用NumPy庫去掉數(shù)組中的NaN值的方法,并提供了其他一些處理方法。通過掌握這些方法,我們可以更好地處理含有NaN值的數(shù)組,提高數(shù)據(jù)分析的準(zhǔn)確性和效率。

代碼示例:

import numpy as np
arr = np.array([1, 2, np.nan, 3, np.nan])
print(arr)
mask = np.isnan(arr)
print(mask)
arr = arr[~mask]
print(arr)
import pandas as pd
s = pd.Series([1, 2, np.nan, 3, np.nan])
s = s.dropna()
print(s)
arr = [x for x in arr if not np.isnan(x)]
print(arr)

通過本文的介紹,相信讀者對Python去掉數(shù)組中的空值NaN有了更加深入的了解。在實(shí)際的數(shù)據(jù)分析工作中,我們可以根據(jù)具體的情況選擇合

到此這篇關(guān)于Python-NaN空值的處理的文章就介紹到這了,更多相關(guān)Python NaN空值內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論