数据挖掘 pandas基础入门之缺失值处理

本文介绍了如何使用Python的Pandas库处理数据集,包括创建DataFrame、处理缺失值、布尔填充等核心操作。通过实例展示了reindex方法的应用及如何通过dropna和fillna方法清理和填充缺失数据。
摘要由CSDN通过智能技术生成

在 pandas 中,使用nan来代替缺失值,这些值将默认不会包含在计算中。

import pandas
import numpy

# 通过传递一个 numpyarray,时间索引以及列标签来创建一个DataFrame:
dates = pandas.date_range("20180509", periods=6)
df = pandas.DataFrame(numpy.random.randn(6, 4), index=dates, columns=list('ABCD'))
print("时间索引以及列标签来创建一个DataFrame:", df, sep="\n")

# reindex()方法可以对指定轴上的索引进行改变/增加/删除操作,这将返回原始数据的一个拷贝。
df_c = df.reindex(index=dates[0:4], columns=list(df.columns) + ['E'])
df_c.loc[dates[0]:dates[1], "E"] = 1
print("显示NaN", df_c, sep="\n")

# 去掉包含的缺失值的行
print("去除缺省行: ", df_c.dropna(how="any"), sep="\n")  # dropna()不改变源数集,返回去除后的结果集

# 对缺失值进行填充
print("缺失值以5填充", df_c.fillna(value=5), sep="\n")

# 对数据进行布尔填充
print("对缺失值进行布尔填充", pandas.isnull(df_c), sep="\n")
"E:\Python 3.6.2\python.exe" F:/PycharmProjects/test.py
时间索引以及列标签来创建一个DataFrame:
                   A         B         C         D
2018-05-09  1.017714 -0.156807  1.529034 -1.553297
2018-05-10  0.879492  0.055659 -0.161884 -0.793594
2018-05-11  0.643614  0.721887 -0.060474  2.197343
2018-05-12 -1.224674  0.001965  0.342837  1.228428
2018-05-13 -0.603410  0.159824 -0.449570  2.090540
2018-05-14 -1.824944 -0.732760 -0.052949 -0.746081
显示NaN
                   A         B         C         D    E
2018-05-09  1.017714 -0.156807  1.529034 -1.553297  1.0
2018-05-10  0.879492  0.055659 -0.161884 -0.793594  1.0
2018-05-11  0.643614  0.721887 -0.060474  2.197343  NaN
2018-05-12 -1.224674  0.001965  0.342837  1.228428  NaN
去除缺省行: 
                   A         B         C         D    E
2018-05-09  1.017714 -0.156807  1.529034 -1.553297  1.0
2018-05-10  0.879492  0.055659 -0.161884 -0.793594  1.0
缺失值以5填充
                   A         B         C         D    E
2018-05-09  1.017714 -0.156807  1.529034 -1.553297  1.0
2018-05-10  0.879492  0.055659 -0.161884 -0.793594  1.0
2018-05-11  0.643614  0.721887 -0.060474  2.197343  5.0
2018-05-12 -1.224674  0.001965  0.342837  1.228428  5.0
对缺失值进行布尔填充
                A      B      C      D      E
2018-05-09  False  False  False  False  False
2018-05-10  False  False  False  False  False
2018-05-11  False  False  False  False   True
2018-05-12  False  False  False  False   True

Process finished with exit code 0

 

转载于:https://my.oschina.net/gain/blog/1822848

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值