MST

星途 面试题库

面试题:Python之Pandas多表复杂合并与数据清洗

假设有两个DataFrame,df1和df2。df1包含用户ID、购买日期、购买金额等信息;df2包含用户ID、用户注册日期、用户所在城市等信息。现在需要将这两个DataFrame合并,同时清洗掉购买金额为负数以及注册日期格式不正确的数据,用Pandas如何完成这些操作?
37.4万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试
import pandas as pd

# 假设df1和df2已经定义好
# 合并两个DataFrame,基于用户ID合并
merged_df = pd.merge(df1, df2, on='用户ID')

# 清洗购买金额为负数的数据
merged_df = merged_df[merged_df['购买金额'] >= 0]

# 假设注册日期格式为 'YYYY-MM-DD',清洗格式不正确的数据
merged_df['用户注册日期'] = pd.to_datetime(merged_df['用户注册日期'], errors='coerce')
merged_df = merged_df.dropna(subset=['用户注册日期'])

以上代码先使用pd.merge方法基于用户ID合并两个DataFrame,然后通过条件筛选去除购买金额为负数的数据,最后将用户注册日期列转换为日期格式并去除转换失败(格式不正确)的数据。