Pandas 处理丢失数据

import pandas as pd
import numpy as np

dates = pd.date_range('20130101',periods = 6)
df = pd.DataFrame(np.arange(24).reshape((6,4)),index = dates,columns = ['A','B','C','D'])
df

            A   B   C   D
2013-01-01  0   1   2   3
2013-01-02  4   5   6   7
2013-01-03  8   9   10  11
2013-01-04  12  13  14  15
2013-01-05  16  17  18  19
2013-01-06  20  21  22  23

df.iloc[0,1] = np.nan
df.iloc[1,2] = np.nan
print(df)

             A     B     C   D
2013-01-01   0   NaN   2.0   3
2013-01-02   4   5.0   NaN   7
2013-01-03   8   9.0  10.0  11
2013-01-04  12  13.0  14.0  15
2013-01-05  16  17.0  18.0  19
2013-01-06  20  21.0  22.0  23

dropna:如有nan,按行(axis=0)或按列(axis=1)drop

how = {'any','all'}

print(df.dropna(axis = 0, how='any'))

            A     B     C   D
2013-01-03   8   9.0  10.0  11
2013-01-04  12  13.0  14.0  15
2013-01-05  16  17.0  18.0  19
2013-01-06  20  21.0  22.0  23

print(df.dropna(axis = 1, how='any'))
             A   D
2013-01-01   0   3
2013-01-02   4   7
2013-01-03   8  11
2013-01-04  12  15
2013-01-05  16  19
2013-01-06  20  23

fillna:将nan替换成其他值

print(df.fillna(value=0))

            A     B     C   D
2013-01-01   0   0.0   2.0   3
2013-01-02   4   5.0   0.0   7
2013-01-03   8   9.0  10.0  11
2013-01-04  12  13.0  14.0  15
2013-01-05  16  17.0  18.0  19
2013-01-06  20  21.0  22.0  23

isnull:检查是否有nan

print(df.isnull())

                A      B      C      D
2013-01-01  False   True  False  False
2013-01-02  False  False   True  False
2013-01-03  False  False  False  False
2013-01-04  False  False  False  False
2013-01-05  False  False  False  False
2013-01-06  False  False  False  False

# 是否至少包含一个True(用于数据量较大排查是否存在至少一个nan值)
print(np.any(df.isnull()) == True)

True

Pandas学习教程来源请戳这里

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 学习资料: 相关代码 创建含 NaN 的矩阵 有时候我们导入或处理数据, 会产生一些空的或者是 NaN 数据,如何...
    吴国友阅读 134评论 0 0
  • 5.3汇总和计算描述性统计 pandas对象拥有一组常用的数学和统计方法。他们大部分都属于约简和汇总统计,用于从S...
    凌岸_ing阅读 1,706评论 0 1
  • 有时候我们导入或处理数据, 会产生一些空的或者是 NaN 数据,如何删除或者是填补这些 NaN 数据就是我们今天所...
    Ledestin阅读 365评论 0 2
  • 两个人对着一棵垂丝海棠 争论,这是桃花 这是樱花 桃花 樱花 很漂亮 很漂亮 然后,他们就走了 早晨清新极了,包括...
    阿钡钉阅读 146评论 1 4
  • 红色的灭火器 猥琐地蜷缩在一角 身上落满了岁月的灰尘 它养兵千日用兵一时 等到满天大火照亮它的胸膛 是凄惨的哭喊声...
    潍县刀笔吏阅读 245评论 0 1