Pandas缺失数据处理

简介: Pandas缺失数据处理Pandas用np.nan代表缺失数据import pandas as pdimport numpy as npdates = pd.

Pandas缺失数据处理

Pandas用np.nan代表缺失数据

import pandas as pd
import numpy as np

dates = pd.date_range('20130101',periods=10)
df = pd.DataFrame(np.random.randn(10,4),index=dates,columns=['A','B','C','D'])
df.head()
A B C D
2013-01-01 -0.031531 1.231280 -1.069298 1.068172
2013-01-02 -0.216581 0.535341 -1.408095 0.677334
2013-01-03 0.262541 -0.034165 0.712012 0.053880
2013-01-04 0.142971 -0.009381 -0.369560 2.142902
2013-01-05 -0.483484 1.896420 -1.087918 -0.608670

reindex() 可以修改 索引,会返回一个数据的副本:

df1 = df.reindex(index = dates[0:4], columns = ['A', 'B', 'C', 'D', 'E'])
df1
A B C D E
2013-01-01 -0.031531 1.231280 -1.069298 1.068172 NaN
2013-01-02 -0.216581 0.535341 -1.408095 0.677334 NaN
2013-01-03 0.262541 -0.034165 0.712012 0.053880 NaN
2013-01-04 0.142971 -0.009381 -0.369560 2.142902 NaN
df2 = df.reindex(index=dates[0:4], columns=['A','B','C','D']+['E'])
df2
A B C D E
2013-01-01 -0.031531 1.231280 -1.069298 1.068172 NaN
2013-01-02 -0.216581 0.535341 -1.408095 0.677334 NaN
2013-01-03 0.262541 -0.034165 0.712012 0.053880 NaN
2013-01-04 0.142971 -0.009381 -0.369560 2.142902 NaN
df3 = df.reindex(index=dates[0:4], columns=list(df.columns) + ['E'])
df3
A B C D E
2013-01-01 -0.031531 1.231280 -1.069298 1.068172 NaN
2013-01-02 -0.216581 0.535341 -1.408095 0.677334 NaN
2013-01-03 0.262541 -0.034165 0.712012 0.053880 NaN
2013-01-04 0.142971 -0.009381 -0.369560 2.142902 NaN
df3.loc[dates[0]:dates[1],'E'] = 1
df3
A B C D E
2013-01-01 -0.031531 1.231280 -1.069298 1.068172 1.0
2013-01-02 -0.216581 0.535341 -1.408095 0.677334 1.0
2013-01-03 0.262541 -0.034165 0.712012 0.053880 NaN
2013-01-04 0.142971 -0.009381 -0.369560 2.142902 NaN

对缺失值进行填充

df1.fillna(value=5)
A B C D E
2013-01-01 -0.031531 1.231280 -1.069298 1.068172 5.0
2013-01-02 -0.216581 0.535341 -1.408095 0.677334 5.0
2013-01-03 0.262541 -0.034165 0.712012 0.053880 5.0
2013-01-04 0.142971 -0.009381 -0.369560 2.142902 5.0
df2['E'] = df1['E'].fillna(value=5)
df2
A B C D E
2013-01-01 -0.031531 1.231280 -1.069298 1.068172 5.0
2013-01-02 -0.216581 0.535341 -1.408095 0.677334 5.0
2013-01-03 0.262541 -0.034165 0.712012 0.053880 5.0
2013-01-04 0.142971 -0.009381 -0.369560 2.142902 5.0

丢掉含有缺失项的行:

df3.dropna(how = 'any')
A B C D E
2013-01-01 -0.031531 1.231280 -1.069298 1.068172 1.0
2013-01-02 -0.216581 0.535341 -1.408095 0.677334 1.0

对缺失项布尔赋值

df4 = df1.isnull()
df4
A B C D E
2013-01-01 False False False False True
2013-01-02 False False False False True
2013-01-03 False False False False True
2013-01-04 False False False False True
df5 = pd.isnull(df1)
df5
A B C D E
2013-01-01 False False False False True
2013-01-02 False False False False True
2013-01-03 False False False False True
2013-01-04 False False False False True
目录
相关文章
|
3月前
|
并行计算 数据处理 API
再见 Pandas,又一数据处理神器!
再见 Pandas,又一数据处理神器!
|
3月前
|
并行计算 数据处理 API
再见Pandas,又一数据处理神器!
再见Pandas,又一数据处理神器!
|
18天前
|
数据采集 数据挖掘 大数据
数据处理利器:使用Pandas进行数据清洗与转换
【4月更文挑战第12天】在大数据时代,Pandas是Python数据分析的关键工具,提供高效的数据清洗和转换功能。本文介绍了如何使用Pandas处理缺失值(删除或填充)、异常值(Z-Score法和IQR法)以及重复值(检测和删除)。此外,还涵盖了数据转换,包括数据类型转换、数据标准化(Min-Max和Z-Score)以及类别数据的one-hot编码。通过学习这些方法,可以为数据分析和挖掘奠定坚实基础。
|
11天前
|
数据采集 机器学习/深度学习 自然语言处理
《Pandas 简易速速上手小册》第7章:Pandas 文本和类别数据处理(2024 最新版)
《Pandas 简易速速上手小册》第7章:Pandas 文本和类别数据处理(2024 最新版)
26 1
|
14天前
|
数据处理 索引 Python
Pandas常见问题与解决方案:避开数据处理中的坑
【4月更文挑战第16天】本文总结了Pandas数据处理中的常见问题及解决方案:1) 数据类型不匹配,使用`astype`转换;2) 缺失值处理,用`dropna`删除或`fillna`填充;3) 内存占用过大,通过选择性加载列、指定`dtype`和使用`chunksize`分块处理;4) 合并数据问题,确保键匹配和正确合并方式;5) 排序和分组聚合错误,使用`sort_values`/`sort_index`和`groupby`配合聚合函数。掌握这些技巧可提高数据处理效率。
|
14天前
|
SQL 机器学习/深度学习 数据可视化
Pandas与其他库的集成:构建强大的数据处理生态
【4月更文挑战第16天】Pandas在数据处理中扮演关键角色,但与其他Python库如NumPy、Matplotlib/Seaborn、Scikit-learn和SQL的集成使其功能更加强大。结合NumPy进行数值计算,搭配Matplotlib/Seaborn实现高效可视化,与Scikit-learn联用加速机器学习,以及与SQL集成便于数据库操作,这些都构建了一个全面的数据处理生态系统,提升了数据科学家的工作效率,助力于数据价值的发掘。
|
14天前
|
SQL 存储 数据处理
Pandas入门指南:开启数据处理之旅
【4月更文挑战第16天】Pandas是Python中的数据处理库,提供高性能数据结构Series和DataFrame,简化数据操作。要开始使用,先安装Pandas:`pip install pandas`,然后`import pandas as pd`。Series是一维标签数组,DataFrame是二维表格数据。Pandas支持读写CSV、Excel、SQL数据,以及数据清洗、处理、筛选和排序。它是数据科学家和分析师处理结构化数据的得力工具。开始你的Pandas数据之旅吧!
|
2月前
|
数据采集 自然语言处理 数据可视化
使用Pandas库对淘宝原始数据进行数据处理和分词处理
使用Pandas库对淘宝原始数据进行数据处理和分词处理
30 0
|
2月前
|
数据采集 数据可视化 数据挖掘
Python爬虫之Pandas数据处理技术详解
Python爬虫之Pandas数据处理技术详解
|
2月前
|
数据处理 数据格式 Python
python进行数据处理——pandas的drop函数
python进行数据处理——pandas的drop函数