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

pandas中關(guān)于nan的處理方式

 更新時(shí)間:2024年02月02日 08:51:08   作者:我是小螞蟻  
這篇文章主要介紹了pandas中關(guān)于nan的處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

pandas關(guān)于nan的處理

在pandas中有個(gè)另類的存在就是nan

解釋是

not a number,不是一個(gè)數(shù)字,但是它的類型確是一個(gè)float類型。

numpy中也存在關(guān)于nan的方法

如:np.nan

對(duì)于pandas中nan的處理,簡(jiǎn)單的說有以下幾個(gè)方法。

  • 查看是否是nan, s1.isnull() 和 s1.notnull()
  • 丟棄有nan的索引項(xiàng),s1.dropna()
  • 將nan填充為其他值,df2.fillna()
import numpy as np
import pandas as pd
from pandas import Series, DataFrame

n = np.nan
print(type(n)) # <class 'float'>

m = 1
print(n+m) # nan 任何數(shù)字和nan進(jìn)行計(jì)算,都是nan

# nan in series
s1 = Series([1, 2, np.nan, 3, 4], index=['A', 'B', 'C', 'D', 'E'])
print(s1)
'''
A    1.0
B    2.0
C    NaN
D    3.0
E    4.0
dtype: float64
'''

print(s1.isnull()) # 返回 bool值,是 nan 的話,返回true
'''
A    False
B    False
C     True
D    False
E    False
dtype: bool
'''

print(s1.notnull()) # 非 nan , 返回true
'''
A     True
B     True
C    False
D     True
E     True
dtype: bool
'''

# 去掉 有 nan 的索引項(xiàng)
print(s1.dropna())
'''
A    1.0
B    2.0
D    3.0
E    4.0
dtype: float64
'''

# nan in dataframe
df = DataFrame([[1, 2, 3], [np.nan, 5, 6], [7, np.nan, 9], [np.nan, np.nan, np.nan]])
print(df)
'''
     0    1    2
0  1.0  2.0  3.0
1  NaN  5.0  6.0
2  7.0  NaN  9.0
3  NaN  NaN  NaN
'''

print(df.isnull()) # df.notnull() 同理
'''
       0      1      2
0  False  False  False
1   True  False  False
2  False   True  False
3   True   True   True
'''

# 去掉 所有 有 nan 的 行, axis = 0 表示 行方向
df1 = df.dropna(axis=0)
print(df1)
'''
     0    1    2
0  1.0  2.0  3.0
'''

# 表示在 列 的方向上。
df1 = df.dropna(axis=1)
print(df1)
'''
mpty DataFrame
Columns: []
Index: [0, 1, 2, 3]
'''

# any 只要有 nan 就會(huì)刪掉。 all 是必須全是nan才刪除
df1 = df.dropna(axis=0, how='any')
print(df1)
'''
     0    1    2
0  1.0  2.0  3.0
'''

# any 只要有 nan 就會(huì)刪掉。 all 全部是nan,才會(huì)刪除
df1 = df.dropna(axis=0, how='all')
print(df1)
'''
     0    1    2
0  1.0  2.0  3.0
1  NaN  5.0  6.0
2  7.0  NaN  9.0
'''

df2 = DataFrame([[1, 2, 3, np.nan], [2, np.nan, 5, 6], [np.nan, 7, np.nan, 9], [1, np.nan, np.nan, np.nan]])
print(df2)
'''
     0    1    2    3
0  1.0  2.0  3.0  NaN
1  2.0  NaN  5.0  6.0
2  NaN  7.0  NaN  9.0
3  1.0  NaN  NaN  NaN
'''

print(df2.dropna(thresh=None))
'''
Empty DataFrame
Columns: [0, 1, 2, 3]
Index: []
'''

print(df2.dropna(thresh=2)) #  thresh 表示一個(gè)范圍,如:每一行的nan > 2,就刪除
'''
     0    1    2    3
0  1.0  2.0  3.0  NaN
1  2.0  NaN  5.0  6.0
2  NaN  7.0  NaN  9.0
'''

# 將nan進(jìn)行填充
print(df2.fillna(value=1))
'''
     0    1    2    3
0  1.0  2.0  3.0  1.0
1  2.0  1.0  5.0  6.0
2  1.0  7.0  1.0  9.0
3  1.0  1.0  1.0  1.0
'''

# 可以 為指定列 填充不同的 數(shù)值
print(df2.fillna(value={0: 0, 1: 1, 2: 2, 3: 3})) # 指定每一列 填充的數(shù)值
'''
     0    1    2    3
0  1.0  2.0  3.0  3.0
1  2.0  1.0  5.0  6.0
2  0.0  7.0  2.0  9.0
3  1.0  1.0  2.0  3.0
'''


# 以下兩個(gè)例子需要說明的是:對(duì)dataframe進(jìn)行dropna,原來的dataframe不會(huì)改變
print(df1.dropna())
'''
     0    1    2
0  1.0  2.0  3.0
'''
print(df1)
'''
     0    1    2
0  1.0  2.0  3.0
1  NaN  5.0  6.0
2  7.0  NaN  9.0
'''

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 深入了解Python中運(yùn)算符函數(shù)的使用

    深入了解Python中運(yùn)算符函數(shù)的使用

    Python?在“運(yùn)算符”模塊下為許多數(shù)學(xué)、邏輯、關(guān)系、按位等操作預(yù)定義了函數(shù)。本文介紹了一些基本功能,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2022-09-09
  • Protocol Buffers(Protobuf)功能及使用方法

    Protocol Buffers(Protobuf)功能及使用方法

    本文介紹了ProtocolBuffers(Protobuf)及其編譯器protoc,包括其數(shù)據(jù)描述語言的特性、編譯器的功能、.proto文件的定義、使用方法、支持的編程語言、安裝步驟、常用命令選項(xiàng)以及高級(jí)功能,感興趣的朋友跟隨小編一起看看吧
    2025-01-01
  • Python處理電子表格的Pandas、OpenPyXL、xlrd和xlwt庫

    Python處理電子表格的Pandas、OpenPyXL、xlrd和xlwt庫

    在Python中處理表格數(shù)據(jù),有幾個(gè)非常流行且功能強(qiáng)大的庫,Pandas在數(shù)據(jù)分析方面提供了廣泛的功能,而OpenPyXL、xlrd和xlwt則在處理Excel文件方面各有所長(zhǎng),以下是一些最常用的庫及其示例代碼
    2024-01-01
  • Python實(shí)現(xiàn)vlog生成器的示例代碼

    Python實(shí)現(xiàn)vlog生成器的示例代碼

    vlog,全稱為Video?blog,意為影音博客,也有翻譯為微錄。本文將嘗試用Python基于Moviepy從一個(gè)文本文件中自動(dòng)生成一個(gè)視頻格式的vlog,感興趣的可以了解一下
    2023-01-01
  • Python實(shí)現(xiàn)調(diào)用MySQL數(shù)據(jù)庫的存儲(chǔ)過程

    Python實(shí)現(xiàn)調(diào)用MySQL數(shù)據(jù)庫的存儲(chǔ)過程

    這篇文章主要為大家詳細(xì)介紹了如何使用Python實(shí)現(xiàn)調(diào)用MySQL數(shù)據(jù)庫的存儲(chǔ)過程,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2026-01-01
  • Python安裝Graphviz超詳細(xì)圖文教程

    Python安裝Graphviz超詳細(xì)圖文教程

    這篇文章主要介紹了Python安裝Graphviz超詳細(xì)教程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-02-02
  • Python的命令行參數(shù)實(shí)例詳解

    Python的命令行參數(shù)實(shí)例詳解

    python中有一個(gè)模塊sys,sys.argv這個(gè)屬性提供了對(duì)命令行參數(shù)的訪問,下面這篇文章主要給大家介紹了關(guān)于Python命令行參數(shù)實(shí)例的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-02-02
  • Python繪制燈籠的示例代碼

    Python繪制燈籠的示例代碼

    這篇文章主要為大家介紹了如何通過Python繪制一個(gè)燈籠,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Python有一定幫助,感興趣的小伙伴可以跟隨小編學(xué)習(xí)一下
    2022-02-02
  • Python Django 前后端分離 API的方法

    Python Django 前后端分離 API的方法

    今天小編就為大家分享一篇Python Django 前后端分離 API的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • Python爬蟲之Selenium實(shí)現(xiàn)關(guān)閉瀏覽器

    Python爬蟲之Selenium實(shí)現(xiàn)關(guān)閉瀏覽器

    這篇文章主要介紹了Python爬蟲之Selenium實(shí)現(xiàn)關(guān)閉瀏覽器,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12

最新評(píng)論

贞丰县| 锡林浩特市| 永川市| 白玉县| 博客| 亳州市| 南平市| 息烽县| 郓城县| 溧水县| 五华县| 炉霍县| 彝良县| 象山县| 麦盖提县| 大理市| 临猗县| 吴堡县| 双牌县| 方山县| 垫江县| 吉安县| 云龙县| 镶黄旗| 广丰县| 西盟| 象州县| 托克逊县| 南昌市| 高安市| 云霄县| 开平市| 自治县| 泾源县| 安陆市| 天门市| 随州市| 广昌县| 蒙山县| 武城县| 章丘市|