假如你是一名掌握python的大学生,请你写一份完整代码包括:读取表格数据,查看是否有缺失值,数据去重,常用的缺失值处理
时间: 2024-11-04 10:10:12 浏览: 4
作为一名掌握Python的大学生,我可以展示如何使用pandas库来完成这个任务。这里是一个示例代码:
```python
# 导入所需的库
import pandas as pd
# 读取表格数据
# 假设文件名为"data.csv",替换为你实际的文件路径
df = pd.read_csv("data.csv")
# 查看是否有缺失值
print(df.isnull().sum()) # 显示每列的缺失值数量
# 数据去重
df_duplicates = df.duplicated() # 标记重复行
print("重复行数量:", df_duplicates.sum())
duplicates_df = df[~df_duplicates] # 去除重复行
print("\n去重后的数据:")
print(duplicates_df)
# 常用的缺失值处理
# 使用mean(平均值)或median(中位数)填充数值型缺失值
fill_method = 'mean'
duplicates_df.fillna(value=duplicates_df.mean(), inplace=True) # 对于数值型列
# 对于分类变量,可以用众数填充
categorical_fill = duplicates_df.mode()
for column in categorical_fill.columns:
duplicates_df[column].fillna(categorical_fill[column][0], inplace=True)
# 确保字符串列也被正确处理,可能需要检查并手动设置
# 检查例子:
print("处理前字符串列缺失值:", duplicates_df['string_column'].isnull().sum())
duplicates_df['string_column'] = duplicates_df['string_column'].fillna('unknown') # 假设'text'是你想要的默认值
print("\n处理后的数据:")
print(duplicates_df)
```
在这个代码片段中,我们首先读取数据,然后检查缺失值的数量。接着,我们找到并移除了重复行,最后使用平均值或众数填充缺失的数值和分类数据。对于非结构化的字符串列,这里假设用"unknown"进行填充,你可以根据实际情况调整。
阅读全文