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
目录
相关文章
|
1月前
|
数据采集 存储 数据挖掘
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第27天】在数据分析领域,Python的Pandas库因其强大的数据处理能力而备受青睐。本文介绍了Pandas在数据导入、清洗、转换、聚合、时间序列分析和数据合并等方面的高效技巧,帮助数据分析师快速处理复杂数据集,提高工作效率。
74 0
|
3月前
|
数据采集 数据可视化 数据挖掘
Pandas函数大合集:数据处理神器一网打尽!
Pandas函数大合集:数据处理神器一网打尽!
44 0
|
3月前
|
机器学习/深度学习 数据处理 Python
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
100 0
|
1月前
|
存储 数据挖掘 数据处理
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第26天】Python 是数据分析领域的热门语言,Pandas 库以其高效的数据处理功能成为数据科学家的利器。本文介绍 Pandas 在数据读取、筛选、分组、转换和合并等方面的高效技巧,并通过示例代码展示其实际应用。
45 2
|
2月前
|
并行计算 大数据 数据处理
亿级数据处理,Pandas的高效策略
在大数据时代,数据量的爆炸性增长对处理技术提出更高要求。本文介绍如何利用Python的Pandas库及其配套工具高效处理亿级数据集,包括:采用Dask进行并行计算,分块读取以减少内存占用,利用数据库进行复杂查询,使用内存映射优化Pandas性能,以及借助PySpark实现分布式数据处理。通过这些方法,亿级数据处理变得简单高效,助力我们更好地挖掘数据价值。
110 1
|
2月前
|
机器学习/深度学习 并行计算 大数据
【Python篇】深入挖掘 Pandas:机器学习数据处理的高级技巧
【Python篇】深入挖掘 Pandas:机器学习数据处理的高级技巧
97 3
|
3月前
|
数据采集 数据挖掘 数据处理
Pandas实践:南京地铁数据处理分析
Pandas实践:南京地铁数据处理分析
44 2
|
4月前
|
数据采集 数据挖掘 数据处理
解锁Python数据分析新技能!Pandas实战学习,让你的数据处理能力瞬间飙升!
【8月更文挑战第22天】Python中的Pandas库简化了数据分析工作。本文通过分析一个金融公司的投资数据文件“investment_data.csv”,介绍了Pandas的基础及高级功能。首先读取并检查数据,包括显示前几行、列名、形状和数据类型。随后进行数据清洗,移除缺失值与重复项。接着转换日期格式,并计算投资收益。最后通过分组计算平均投资回报率,展示了Pandas在数据处理与分析中的强大能力。
50 0
|
5月前
|
机器学习/深度学习 数据采集 数据处理
重构数据处理流程:Pandas与NumPy高级特性在机器学习前的优化
【7月更文挑战第14天】在数据科学中,Pandas和NumPy是数据处理的关键,用于清洗、转换和计算。用`pip install pandas numpy`安装后,Pandas的`read_csv`读取数据,`fillna`处理缺失值,`drop`删除列。Pandas的`apply`、`groupby`和`merge`执行复杂转换。NumPy加速数值计算,如`square`进行向量化操作,`dot`做矩阵乘法。结合两者优化数据预处理,提升模型训练效率和效果。
74 1
|
5月前
|
数据采集 机器学习/深度学习 数据处理
从基础到卓越:Pandas与NumPy在复杂数据处理中的实战策略
【7月更文挑战第14天】Pandas与NumPy在数据科学中的核心应用:**加载数据(如`read_csv`)、探索(`head()`, `info()`, `describe()`)、数据清洗(`fillna`, `dropna`, `replace`, `apply`)、数值计算(借助NumPy的`ndarray`)、分组聚合(`groupby`与聚合函数)、窗口函数(如`rolling`)和数据筛选排序(布尔索引,`query`,`sort_values`)。通过这些工具,实现从数据预处理到复杂分析的高效处理。
70 0
下一篇
DataWorks