Python Pandas 数据清洗
1、处理缺失数据
处理缺失数据是数据清洗过程的一个重要部分。缺失数据可以以多种方式出现,最常见的是作为 NaN(Not a Number)。处理缺失数据涉及使用 isna()
或 isnull()
检测缺失值,fillna()
填充缺失值,dropna()
删除包含缺失值的行或列,以及 interpolate()
对缺失值进行插值处理。
方法 |
描述 |
|
用于检测 DataFrame 中的缺失值, 返回布尔值结果。 |
|
用指定的值或方法填充缺失值, 如用 0 填充或前项填充。 |
|
删除包含缺失值的行或列。 |
|
通过各种插值方法填充缺失值, 例如线性插值。 |
import pandas as pd import numpy as np # 创建示例 DataFrame data = {'A': [1, np.nan, 3], 'B': [4, 5, np.nan]} df = pd.DataFrame(data) # 检测缺失值 print("检测缺失值:\n",df.isna()) # 填充缺失值 df_filled = df.fillna(0) df_filled_ffill = df.fillna(method='ffill') print("填充缺失值:\n",df_filled_ffill) # 删除缺失值 df_dropped = df.dropna() print("删除缺失值:\n",df_dropped) # 插值处理 df_interpolated = df.interpolate() print("插值处理:\n",df_interpolated)
2、数据类型转换
在数据分析中,数据类型的正确性和一致性非常重要。如果数据类型不正确或不一致,会影响数据分析的结果。正确的数据类型不仅对数据分析至关重要,而且还能提高数据处理的效率。使用 astype()
方法将 DataFrame
或 Series
中的数据转换为指定类型,to_numeric()
转换数据为数值类型并处理无法转换的数据,以及 to_datetime()
和 to_timedelta()
将数据转换为日期时间或时间间隔类型,是确保数据正确处理和分析的关键步骤。
方法 |
描述 |
|
将 Pandas 对象的数据类型转换为指定的类型。 |
|
将数据转换为数值类型,对于无法转换的数据,可以设置为 NaN。 |
|
将数据转换为日期时间类型。 |
|
将数据转换为时间间隔类型。 |
使用示例:
3、重命名和替换数据
在数据分析中,重命名和替换数据是常见的操作。重命名可以使数据更易于理解和操作,替换可以将不正确或不一致的数据更改为正确的数据。
数据清洗过程包括使用 rename()
方法重命名 DataFrame
的列或行索引,replace()
方法替换特定值,以及利用条件表达式进行更复杂的替换操作,这些步骤对于维护数据的一致性和可读性非常重要。
方法 |
描述 |
|
用于重命名 DataFrame 的列或行索引。 |
|
用于替换 DataFrame 中的特定值。 |
|
使用条件表达式进行复杂的替换操作。 |
使用示例: