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

詳解Pandas 處理缺失值指令大全

 更新時間:2020年07月30日 10:39:25   作者:fitness suite  
這篇文章主要介紹了詳解Pandas 處理缺失值指令大全,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

前言

運用pandas 庫對所得到的數(shù)據(jù)進(jìn)行數(shù)據(jù)清洗,復(fù)習(xí)一下相關(guān)的知識。

1 數(shù)據(jù)清洗

1.1 處理缺失數(shù)據(jù)

對于數(shù)值型數(shù)據(jù),分為缺失值(NAN)和非缺失值,對于缺失值的檢測,可以通過Python中pandas庫的Series類對象的isnull方法進(jìn)行檢測。

import pandas as pd
import numpy as np
string_data = pd.Series(['Benzema', 'Messi', np.nan, 'Ronaldo'])
string_data.isnull()

對于缺失值,除了np.nan來表示,還可以用None來表示缺失值

string_data = None

1.2 濾除掉缺失數(shù)據(jù)

1.2.1 對于Series

使用dropna方法將NAN的數(shù)據(jù)過濾掉。

from numpy import nan as NA
import pandas as pd
data = pd.Series([1,NA,4.5,NA,5])
data.dropna()

另一種方法是使用布爾值索引對NAN數(shù)據(jù)進(jìn)行過濾:

data[data.notnull()]

1.2.2 對于DataFrame

dropna()方法對于DataFrame的數(shù)據(jù)來說,會將含有NAN數(shù)據(jù)的行全部扔掉。

data = pd.DataFrame([[1., 6.5, 3.], [1., NA, NA],
           [NA, NA, NA], [NA, 6.5, 3.]])
data
data.dropna()

如果只想刪除掉那些行中全部為NAN數(shù)據(jù)的DataFrame,通過設(shè)置dropna()方法中的參數(shù)how即可。

data.dropna(how = 'all')

如果操作對象變?yōu)榱?代碼如下:

data[4] = NA
data
data.dropna(axis=1, how = 'all')

如果想留下其中的一部分?jǐn)?shù)據(jù),則可以設(shè)置thresh參數(shù):

df = pd.DataFrame(np.random.randn(7, 3))
df.iloc[:4, 1] = NA
df.iloc[:2, 2] = NA
df
df.dropna(thresh = 2)

thresh = n,參數(shù)n相當(dāng)于保留至少含有n個非NA的行

1.3 填充缺失數(shù)據(jù)

fillna(n),n替換掉NA

df = pd.DataFrame(np.random.randn(7, 3))
df.fillna(0)

如果填充格式是字典,fillna({0:n1,1:n2}),將列0的NA填充為 n1,將列1的NA填充為 n2。

df.fillna({{1 : 0.2,2 : 0.3}})

直接填充df的NA值,直接改變df,不需要命名新的變量。

df.fillna(0, inplace = True)

2 數(shù)據(jù)轉(zhuǎn)換

2.1 移除重復(fù)數(shù)據(jù)

data = pd.DataFrame({'k1': ['one', 'two'] * 3 + ['two'],
           'k2': [1, 1, 2, 3, 3, 4, 4]})
data.duplicated()

返回的是每一行的重復(fù)結(jié)果,不重復(fù)是False,重復(fù)是True。

如果要去除重復(fù)的行,代碼如下:

data.drop_duplicates()

如果操作對象為列,在duplicated方法中指定參數(shù)即可。

data['k3'] = range(7)
data.duplicated(['k1'])

返回的是 k1 列中重復(fù)的元素。

對于drop_duplicates()方法來說,去除掉的是重復(fù)數(shù)據(jù)的后者。比如說序號為0,1的數(shù)據(jù)重復(fù),方法刪除掉index = 1的行。如果想要刪除前者,只需要指定參數(shù) last即可:

data.drop_duplicates(['k1'], keep = 'last')

2.2 與映射相結(jié)合

map函數(shù)的使用方法

list(map(lambda x : 2 * x , range(10)))

2.3 替換

使用的是replace 方法,replace有兩個參數(shù),前者是被替換的數(shù),后者是替換的數(shù),參數(shù)格式可以是列表,也可以是字典

data = pd.Series([1., -999., 2., -999., -1000., 3.])
data.replace(-999.0, np.nan) #替換單個值
data.replace([-999.0, -1000.0], np.nan) #用一個值替換多個值
data.replace([-999.0, -1000.0],[np.nan, 0]) # 用不同值替換不同值
data.replace({-999.0 : 0, -1000.0 : np.nan}) # 格式為字典

2.4 創(chuàng)建數(shù)據(jù)的修改版

rename方法可以創(chuàng)建數(shù)據(jù)的修改版,而不必在原數(shù)據(jù)上進(jìn)行修改。

data.rename(index=str.title, columns=str.upper)

還可以使用字典的格式,對index, columns 進(jìn)行改變。

data.rename(index = {'OHIO': 'INDIANA'}, columns = {'three': 'peekaboo'})

這樣的重命名并不對原數(shù)據(jù)進(jìn)行修改,如果想要直接改變data, 如上,參數(shù)inplace = True即可。

data.rename(index = {'OHIO': 'INDIANA'}, columns = {'three': 'peekaboo'}, inplace = True)
data

這樣就改變了data。

2.5 計算指標(biāo)\啞變量

用于機器學(xué)習(xí)中,對定類數(shù)據(jù)的轉(zhuǎn)化,用于將df中的object對象轉(zhuǎn)化為One-hot編碼,消除了數(shù)字間的比較大小問題。

df = pd.DataFrame({'key': ['b', 'b', 'a', 'c', 'a', 'b'],
          'data1': range(6)})
pd.get_dummies(df['key']) # 分解了key 列,分開了三個屬性

如果想在分開的屬性前面加上前綴的話,設(shè)定prefix 參數(shù)即可實現(xiàn)該功能,可以將其與原始數(shù)據(jù)合并在一起。

dummies = pd.get_dummies(df['key'], prefix = 'key')
df_with_dummies = df['data1'].join(dummies)
df_with_dummies

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

相關(guān)文章

  • Python中json文件和jsonl文件的區(qū)別小結(jié)

    Python中json文件和jsonl文件的區(qū)別小結(jié)

    本文主要介紹了JSON和JSONL兩種文件格式的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-01-01
  • Python和Pygame庫開發(fā)“小黃狗跑酷”游戲

    Python和Pygame庫開發(fā)“小黃狗跑酷”游戲

    “小黃狗跑酷”是一款有趣的跑酷類游戲,玩家將控制一只可愛的小黃狗在城市的街道上跑酷,避開障礙物,收集骨頭,盡可能獲得高分,本文將全面介紹如何使用Python和Pygame庫來開發(fā)這個游戲,從最初的概念設(shè)計到最終的代碼實現(xiàn),幫助您理解游戲開發(fā)的基本流程
    2025-03-03
  • python+ffmpeg視頻并發(fā)直播壓力測試

    python+ffmpeg視頻并發(fā)直播壓力測試

    這篇文章主要為大家詳細(xì)介紹了python+ffmpeg視頻并發(fā)直播壓力測試,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • PyOD進(jìn)行異常值檢測使用實例

    PyOD進(jìn)行異常值檢測使用實例

    異常值檢測各個領(lǐng)域的關(guān)鍵任務(wù)之一,PyOD是Python Outlier Detection的縮寫,可以簡化多變量數(shù)據(jù)集中識別異常值的過程,在本文中,我們將介紹PyOD包,并通過實際給出詳細(xì)的代碼示例
    2024-02-02
  • python flask框架實現(xiàn)重定向功能示例

    python flask框架實現(xiàn)重定向功能示例

    這篇文章主要介紹了python flask框架實現(xiàn)重定向功能,結(jié)合實例形式分析了flask框架重定向功能的實現(xiàn)與使用方法,需要的朋友可以參考下
    2019-07-07
  • Python list和str互轉(zhuǎn)的實現(xiàn)示例

    Python list和str互轉(zhuǎn)的實現(xiàn)示例

    這篇文章主要介紹了Python list和str互轉(zhuǎn)的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Python通過WHL文件實現(xiàn)離線安裝的操作詳解

    Python通過WHL文件實現(xiàn)離線安裝的操作詳解

    在Python開發(fā)中,我們經(jīng)常需要安裝第三方庫來擴展Python的功能,通常情況下,我們可以通過pip命令在線安裝這些庫,此時,WHL(Wheel)文件成為了非常實用的解決方案,本教程將結(jié)合實際案例,詳細(xì)介紹如何通過WHL文件在Python中進(jìn)行離線安裝,需要的朋友可以參考下
    2024-08-08
  • python裝飾器常見使用方法分析

    python裝飾器常見使用方法分析

    這篇文章主要介紹了python裝飾器常見使用方法,結(jié)合實例形式分析了Python裝飾器的功能及三種常見的裝飾模式使用技巧,需要的朋友可以參考下
    2019-06-06
  • 一文帶你解密Python迭代器的實現(xiàn)原理

    一文帶你解密Python迭代器的實現(xiàn)原理

    這篇文章主要為大家詳細(xì)介紹了Python中迭代器的實現(xiàn)原理,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)Python有一定的幫助,需要的可以參考一下
    2022-12-12
  • Python小白必備的8個最常用的內(nèi)置函數(shù)(推薦)

    Python小白必備的8個最常用的內(nèi)置函數(shù)(推薦)

    這篇文章主要介紹了Python常用的內(nèi)置函數(shù),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04

最新評論

泰和县| 邵阳县| 子长县| 永昌县| 普宁市| 澳门| 丹东市| 泗阳县| 广灵县| 贵定县| 杨浦区| 江门市| 丹寨县| 徐水县| 漳平市| 遂宁市| 牙克石市| 德江县| 双江| 武川县| 梨树县| 芜湖县| 大埔县| 阿勒泰市| 阿克| 玛曲县| 湟源县| 罗江县| 双桥区| 友谊县| 历史| 林芝县| 湘乡市| 光山县| 梁平县| 桦川县| 蓬溪县| 溧阳市| 桃源县| 克东县| 昆山市|