数据分析三剑客【AIoT阶段一(下)】(十万字博文 保姆级讲解)—Pandas—pandas高级(七)

简介: 你好,感谢你能点进来本篇博客,请不要着急退出,相信我,如果你有一定的 Python 基础,想要学习 Python数据分析的三大库:numpy,pandas,matplotlib;这篇文章不会让你失望,本篇博客是 【AIoT阶段一(下)】 的内容:Python数据分析,

2.2 数据清洗

🚩所谓数据清洗,其实就是把重复的数据,或者是空数据,异常数据进行一些操作,比如替换,填充,删除等操作,关于异常值的定义需要根据实际情况去自行规定。

2.2.1 重复数据过滤

import numpy as np
import pandas as pd
df = pd.DataFrame(data = {'color':['red', 'blue', 'red', 'green', 'blue', None, 'red'],
                          'price':[10, 20, 10, 15, 20, 0, np.NaN]})
display(df)
# 重复数据过滤
df.duplicated()        # 判断是否存在重复数据
df.drop_duplicates()   # 删除重复数据

53.png

2.2.2 空数据过滤

None 和 NaN 都表示空数据,计算时没有区别

None 是 Python 的数据类型

NaN 是 Numpy 的数据类型

import numpy as np
import pandas as pd
df = pd.DataFrame(data = {'color':['red', 'blue', 'red', 'green', 'blue', None, 'red'],
                          'price':[10, 20, 10, 15, 20, 0, np.NaN]})
display(df)
# 空数据处理
# 比如 df 中的 color:None,price:NaN 就是空数据
display(df.isnull()) # 判断是否存在空数据,存在返回True,否则返回False
display(df.dropna())   # 删除空数据
df.fillna(1024)  # 填充空数据:空数据全变为1024

54.png

2.2.3 指定行或者列进行删除

del df['color'] # 直接删除某列
df

image.png

# drop 删除,原数据无变化
# 删除指定列
display(df.drop(labels = ['price'], axis = 1))
display(df)
# 删除指定行
display(df.drop(labels = [0, 1, 3], axis = 0))
display(df)

56.png

当然,我们也可以设置使得在原数据上直接进行修改:

# inplace 替换:删除原来数据并替换给原数据
# 说白了就是删除数据的意思
df.drop(labels = [0, 1, 3], axis = 0, inplace = True)
df

image.png

2.2.4 异常值

🚩对于一个正态分布的数据,我们认定 > 3 σ 就是异常值,σ 表示标准差

# 正态分布数据
df = pd.DataFrame(data = np.random.randn(10000, 3))
cnt = df.abs() > 3 * df.std()   # df.std() 就是标准差
# 取出第一列是异常的数据
cnt_0 = cnt[0]
display(df[cnt_0])
# 获取每一列是异常的数据
cnt_1 = cnt[1]
cnt_2 = cnt[2]
cnt = cnt_0 | cnt_1 | cnt_2
df[cnt]

57.png

还有一种比较简单的方式取出异常值:

cnt = df.abs() > 3 * df.std()
# axis = 1 计算每一行,只要一行中有一个 True,返回 True
# True 就表示的是异常值
cnt_ = cnt.any(axis = 1)
df[cnt_]

58.png




目录
相关文章
|
20天前
|
数据采集 存储 数据挖掘
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第27天】在数据分析领域,Python的Pandas库因其强大的数据处理能力而备受青睐。本文介绍了Pandas在数据导入、清洗、转换、聚合、时间序列分析和数据合并等方面的高效技巧,帮助数据分析师快速处理复杂数据集,提高工作效率。
51 0
|
14天前
|
机器学习/深度学习 数据采集 数据挖掘
解锁 Python 数据分析新境界:Pandas 与 NumPy 高级技巧深度剖析
Pandas 和 NumPy 是 Python 中不可或缺的数据处理和分析工具。本文通过实际案例深入剖析了 Pandas 的数据清洗、NumPy 的数组运算、结合两者进行数据分析和特征工程,以及 Pandas 的时间序列处理功能。这些高级技巧能够帮助我们更高效、准确地处理和分析数据,为决策提供支持。
33 2
|
21天前
|
存储 数据挖掘 数据处理
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第26天】Python 是数据分析领域的热门语言,Pandas 库以其高效的数据处理功能成为数据科学家的利器。本文介绍 Pandas 在数据读取、筛选、分组、转换和合并等方面的高效技巧,并通过示例代码展示其实际应用。
31 2
|
12天前
|
并行计算 数据挖掘 大数据
Python数据分析实战:利用Pandas处理大数据集
Python数据分析实战:利用Pandas处理大数据集
|
12天前
|
数据采集 数据可视化 数据挖掘
利用Python进行数据分析:Pandas库实战指南
利用Python进行数据分析:Pandas库实战指南
|
1月前
|
机器学习/深度学习 数据采集 算法
探索Python科学计算的边界:NumPy、Pandas与SciPy在大规模数据分析中的高级应用
【10月更文挑战第5天】随着数据科学和机器学习领域的快速发展,处理大规模数据集的能力变得至关重要。Python凭借其强大的生态系统,尤其是NumPy、Pandas和SciPy等库的支持,在这个领域占据了重要地位。本文将深入探讨这些库如何帮助科学家和工程师高效地进行数据分析,并通过实际案例来展示它们的一些高级应用。
51 0
探索Python科学计算的边界:NumPy、Pandas与SciPy在大规模数据分析中的高级应用
|
1月前
|
数据采集 数据可视化 数据挖掘
Python 数据分析实战:使用 Pandas 进行数据清洗与可视化
【10月更文挑战第3天】Python 数据分析实战:使用 Pandas 进行数据清洗与可视化
91 0
|
2月前
|
机器学习/深度学习 数据处理 Python
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
79 0
|
1月前
|
机器学习/深度学习 并行计算 大数据
【Python篇】深入挖掘 Pandas:机器学习数据处理的高级技巧
【Python篇】深入挖掘 Pandas:机器学习数据处理的高级技巧
87 3
|
1月前
|
数据采集 数据挖掘 API
Python数据分析加速器:深度挖掘Pandas与NumPy的高级功能
在Python数据分析的世界里,Pandas和NumPy无疑是两颗璀璨的明星,它们为数据科学家和工程师提供了强大而灵活的工具集,用于处理、分析和探索数据。今天,我们将一起深入探索这两个库的高级功能,看看它们如何成为数据分析的加速器。
41 1

热门文章

最新文章

下一篇
无影云桌面