Pandas 数据处理、数据清洗详解
什么是 Pandas?
Pandas 是基于 Numpy 的数据分析工具,提供了大量数据处理和数据分析的函数。它的主要数据结构是 DataFrame 和 Series。
- DataFrame:类似于电子表格或 SQL 表格的二维表格数据结构。
- Series:类似于一维数组或列表的数据结构。
使用 Pandas,可以方便地完成数据清洗、缺失值处理、数据筛选、数据分组、图形展示等任务。
Pandas 数据清洗
数据清洗是数据分析中不可避免的步骤,因为原始数据往往存在数据缺失、异常值、重复数据等问题。这些问题会严重影响数据分析的结果,因此需要对数据进行清洗。
1. 数据读取
Pandas 可以从多种文件格式中读取数据,包括 CSV、Excel、SQL 数据库、JSON 等。以 CSV 文件为例:
import pandas as pd
df = pd.read_csv('data.csv')
2. 数据查看
使用 head()
和 tail()
方法可以查看数据的前几行和后几行,默认显示 5 行数据。
print(df.head()) # 查看前 5 行数据
print(df.tail()) # 查看后 5 行数据
3. 缺失值处理
对于缺失值,一般的处理方法有:
- 删除包含缺失值的行或列;
- 用均值、中位数等代替缺失值。
Pandas 提供了 dropna()
和 fillna()
方法来实现缺失值处理。
# 删除包含缺失值的行
df = df.dropna()
# 用均值代替缺失值
mean_val = df['column_name'].mean()
df['column_name'] = df['column_name'].fillna(mean_val)
4. 数据去重
处理重复数据可以避免重复计算和误差。Pandas 提供了 drop_duplicates()
来删除数据框中的重复行。
df = df.drop_duplicates()
5. 数据类型转换
使用 astype()
方法来对数据类型进行转换。
# 将字符串转换为整数
df['column_name'] = df['column_name'].astype(int)
# 将浮点数转换为整数
df['column_name'] = df['column_name'].astype(int)
示例说明
示例一
假设我们有一个包含学生成绩的 CSV 文件,文件中有学生姓名、学科、成绩等信息。现在需要对数据进行清洗,删除包含缺失值的行,处理重复数据等。
import pandas as pd
df = pd.read_csv('scores.csv')
# 删除包含缺失值的行
df = df.dropna()
# 处理重复数据
df = df.drop_duplicates()
# 输出处理后的数据
print(df.head())
示例二
假设我们有一个包含数值型和字符串型数据的数据框。现在需要将数值型数据转换为字符串型数据。
import pandas as pd
df = pd.DataFrame({
'column1': [1, 2, 3],
'column2': ['a', 'b', 'c']
})
# 将数值型数据转换为字符串型数据
df['column1'] = df['column1'].astype(str)
# 输出处理后的数据
print(df)
以上就是本文的完整攻略。在数据清洗过程中需要注意保证数据的准确性和可靠性,同时对数据进行适当的处理,避免影响后续的数据分析和决策。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Pandas 数据处理,数据清洗详解 - Python技术站