最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python查詢?nèi)笔е档?種方法總結(jié)

 更新時(shí)間:2022年05月07日 10:25:28   作者:朱小五  
缺失值可能是數(shù)據(jù)科學(xué)中最不受歡迎的值,然而,它們總是在身邊。忽略缺失值也是不合理的,因此我們需要找到有效且適當(dāng)?shù)靥幚硭鼈兊姆椒?。本文總結(jié)了四個(gè)Python查詢?nèi)笔е档姆椒ǎ枰目梢詤⒖家幌?/div>

在我們?nèi)粘=佑|到的Python中,狹義的缺失值一般指DataFrame中的NaN。廣義的話,可以分為三種。

  • 缺失值:在Pandas中的缺失值有三種:np.nan (Not a Number) 、 None 和 pd.NaT(時(shí)間格式的空值,注意大小寫(xiě)不能錯(cuò))
  • 空值:空值在Pandas中指的是空字符串"";
  • 最后一類(lèi)是導(dǎo)入的Excel等文件中,原本用于表示缺失值的字符“-”、“?”等。

今天聊聊Python中查詢?nèi)笔е档?種方法。

缺失值 NaN ①

在Pandas中查詢?nèi)笔е担畛S玫?法就是isnull(),返回True表示此處為缺失值。

我們可以將其與any()?法搭配使用來(lái)查詢存在缺失值的行,也可以與sum()?法搭配使用來(lái)查詢存在缺失值的列。

  • isnull():對(duì)于缺失值,返回True;對(duì)于?缺失值,返回False。
  • any():?個(gè)序列中有?個(gè)True,則返回True,否則返回False。
  • sum():對(duì)序列進(jìn)行求和計(jì)算。

在交互式環(huán)境中輸入如下命令:

df.isnull()

輸出:

圖片

在交互式環(huán)境中輸入如下命令:

df.isnull().any(axis=1)

輸出:

圖片

在交互式環(huán)境中輸入如下命令:

df.isnull().sum()

輸出:

圖片

注:isna()和isnull()的用法是相同的,這里不再演示

缺失值 NaN ②

由于在Pandas中isnull()方法返回True表示此處為缺失值,所以我們可以對(duì)數(shù)據(jù)集進(jìn)行切片也可實(shí)現(xiàn)找到缺失值。

在交互式環(huán)境中輸入如下命令:

df[df.isnull().values==True]

輸出:

圖片

注意:如果某行有多個(gè)值是空值,則會(huì)重復(fù)次數(shù)出現(xiàn),所以我們可以利用df[df.isnull().values==True].drop_duplicates()來(lái)去重。

另外,notnull()方法是與isnull()相對(duì)應(yīng)的,使用它可以直接查詢非缺失值的數(shù)據(jù)行。

df[df["A列"].notnull()]

輸出:

圖片

空值

空值在Pandas中指的是空字符串"",我們同樣可以對(duì)數(shù)據(jù)集進(jìn)行切片找到空值。

在交互式環(huán)境中輸入如下命令:

df[df["B列"]?==?""]

輸出:

圖片

此外,也可以利用空值與正常值的區(qū)別來(lái)區(qū)分兩者,比如isnumeric()方法檢測(cè)字符串是否只由數(shù)字組成。

在交互式環(huán)境中輸入如下命令:

df[df["B列"].str.isnumeric()?==?False?]

輸出:

圖片

如上所示,同樣查詢到了數(shù)據(jù)集中的空值。

字符“-”、“?”等

很多時(shí)候,我們要處理的是本地的歷史數(shù)據(jù)文件,在這些Excel中往往并不規(guī)范,比如它們有可能會(huì)使用“*”、“?”、“—”、“!”等等字符來(lái)表示缺失值。

對(duì)于這類(lèi)文本,我們可以使用正則表達(dá)式來(lái)匹配缺失值。

import?re
df[df["C列"].apply(lambda?x:?len(re.findall('NA|[*|?|!|#|-]',?x))?!=?0)]

輸出:

圖片

如上所示,我自定義了匿名函數(shù)lambda,作用是在文本列的每一行中查找以下文本值:“NA”、“*”、“?” 、“!” 、“#”、“-”,并檢查它找到的列表的長(zhǎng)度。如果列表不為零,則表示找到了代表缺失值的字符,因此該行中至少有一個(gè)缺失值。

df[df["D列"].apply(lambda?x:?len(re.findall('NA|[*|?|!|#|-]',?x))?!=?0)]

輸出:

圖片

我們可以對(duì)不同列都進(jìn)行同樣的缺失值查詢,另外也可以根據(jù)自己的實(shí)際情況,替換正則表達(dá)式中代表缺失值的字符。

到此這篇關(guān)于Python查詢?nèi)笔е档?種方法總結(jié)的文章就介紹到這了,更多相關(guān)Python查詢?nèi)笔е祪?nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

双鸭山市| 新田县| 海南省| 新密市| 潮州市| 沁水县| 奉节县| 集安市| 平乐县| 弋阳县| 天祝| 安福县| 丰城市| 察哈| 屏南县| 原阳县| 全椒县| 瑞昌市| 辽阳市| 太仆寺旗| 余姚市| 大冶市| 宝丰县| 丽水市| 安泽县| 墨玉县| 黔江区| 柘荣县| 延吉市| 神池县| 西充县| 平潭县| 宿松县| 北票市| 华阴市| 汕头市| 营口市| 德阳市| 阜新市| 潼南县| 朝阳市|