MST

星途 面试题库

面试题:Python中Pandas复杂数据清洗与规整化

给定一个复杂的CSV文件,其中包含不规则日期格式、重复行以及列数据类型不一致的问题。使用Python的Pandas库,编写代码完成以下操作:1. 将日期列规整为标准日期格式;2. 去除重复行;3. 统一列的数据类型。
40.2万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试
import pandas as pd


def process_csv(file_path):
    df = pd.read_csv(file_path)
    # 1. 将日期列规整为标准日期格式
    for col in df.columns:
        try:
            df[col] = pd.to_datetime(df[col], errors='coerce')
        except:
            pass
    # 2. 去除重复行
    df = df.drop_duplicates()
    # 3. 统一列的数据类型
    for col in df.columns:
        if df[col].dtype == 'object':
            try:
                df[col] = pd.to_numeric(df[col], errors='coerce')
            except:
                pass
    return df


你可以使用以下方式调用函数:

file_path = 'your_file.csv'
result = process_csv(file_path)
print(result)
  1. process_csv 函数接收一个CSV文件路径作为参数。
  2. 使用 pd.read_csv 读取CSV文件。
  3. 遍历列,使用 pd.to_datetime 将日期列转换为标准日期格式,errors='coerce' 表示将无效日期转换为 NaT
  4. 使用 drop_duplicates 方法去除重复行。
  5. 再次遍历列,对于 object 类型列,尝试使用 pd.to_numeric 将其转换为数值类型,errors='coerce' 表示将无效值转换为 NaN

最后通过传入实际的文件路径调用函数并打印结果。请根据实际情况调整文件路径。