Python Pandas数据清洗实战100题
读取ds_titanic.csv并返回前5行数据。 数据集:ds_titanic 函数:pd.read_csv, head()
统计titanic.csv的行数和列数。 数据集:titanic 函数:shape
返回heart.csv中数值列的统计摘要。 数据集:heart 函数:describe()
统计titanic.csv各列缺失值数量。 数据集:titanic 函数:isnull().sum()
统计german_credit_risk.csv中各列唯一值数量。 数据集:german_credit_risk 函数:nunique()
统计titanic.csv内存占用。 数据集:titanic 函数:memory_usage()
读取ds_titanic.csv的前10行。 数据集:ds_titanic 函数:nrows
统计pandas_transactions.csv中完全重复的行数。 数据集:pandas_transactions 函数:duplicated().sum(...
统计ds_employees.csv各列缺失率并降序排列。 数据集:ds_employees 函数:isnull().mean().sort_values()
生成german_credit_risk.csv的数据质量报告(行数、列数、缺失总数)。 数据集:german_credit_risk
删除titanic.csv中任意列有缺失值的行,返回剩余行数。 数据集:titanic 函数:dropna()
删除titanic.csv中所有列都缺失的行,返回行数。 数据集:titanic 函数:dropna(how='all')
只保留titanic.csv中缺失值少于3列的行,返回行数。 数据集:titanic 函数:dropna(thresh)
用Age列均值填充titanic.csv的Age缺失值,返回填充后缺失数量。 数据集:titanic 函数:fillna(mean)
用titanic.csv的中位数填充Age列缺失值,返回缺失总数。 数据集:titanic 函数:fillna(median)
用german_credit_risk.csv分类列的众数填充缺失,返回填充后缺失总数。 数据集:german_credit_risk 函数:mode()[0...
用前向填充(ffill)处理ds_stocks.csv的缺失值,返回剩余缺失数。 数据集:ds_stocks 函数:ffill()
用后向填充(bfill)处理ds_stocks.csv的缺失值,返回剩余缺失数。 数据集:ds_stocks 函数:bfill()
用线性插值填充pandas_stock_prices.csv的缺失值,返回剩余缺失数。 数据集:pandas_stock_prices 函数:interpol...
按Pclass分组计算均值填充titanic.csv的Age缺失,返回填充后缺失数。 数据集:titanic 函数:groupby + transform
将german_credit_risk.csv分类列的缺失值标记为'Unknown',返回标记数量。 数据集:german_credit_risk 函数:fi...
删除titanic.csv中缺失率超过50%的列,返回删除的列数。 数据集:titanic 函数:drop(columns=)
将german_credit_risk.csv的Age列转为整数类型,返回dtype。 数据集:german_credit_risk 函数:astype(in...
将titanic.csv的Age列转为浮点,无效值变NaN。 数据集:titanic 函数:pd.to_numeric(errors='coerce')
将titanic.csv的Sex列转为Categorical类型,返回dtype。 数据集:titanic 函数:astype('category')
将ds_stocks.csv的date列从字符串转为datetime。 数据集:ds_stocks 函数:pd.to_datetime()
从文本中提取数字部分。 数据集:start_times 函数:str.extract
计算两个日期之间的天数差。 数据集:ds_stocks 函数:日期相减
将titanic.csv的Survived列转为0/1整数,返回唯一值列表。 数据集:titanic 函数:astype(int)
将titanic.csv的Fare列分箱为3个等宽区间。 数据集:titanic 函数:pd.cut()
用map将german_credit_risk.csv的Sex列映射为0/1。 数据集:german_credit_risk 函数:map()
将heart.csv的trestbps列转为数值,无效值变NaN。 数据集:heart 函数:pd.to_numeric(errors='coerce')
删除pandas_transactions.csv中完全重复的行,返回删除的行数。 数据集:pandas_transactions 函数:drop_dupli...
按pandas_employees.csv的姓名列去重,返回删除的行数。 数据集:pandas_employees 函数:drop_duplicates(su...
按交易ID去重pandas_transactions.csv保留最后一条,返回行数。 数据集:pandas_transactions 函数:keep='las...
用IQR方法检测titanic.csv的Fare列异常值数量。 数据集:titanic 函数:quantile(), IQR
用Z-score方法检测heart.csv的chol列异常值数量(阈值=3)。 数据集:heart 函数:(x-mean)/std
将titanic.csv的Fare列截断到[0, 200]范围,返回min和max。 数据集:titanic 函数:clip()
将titanic.csv的Fare异常值替换为边界值,返回总行数。 数据集:titanic 函数:clip()替换
将heart.csv的chol异常值替换为NaN后再用中位数填充,返回缺失数。 数据集:heart 函数:replace + fillna
计算titanic.csv的Age列箱线图异常阈值(lower, upper)。 数据集:titanic 函数:describe + IQR
按Pclass分组用IQR法检测titanic.csv的Age异常值数量。 数据集:titanic 函数:groupby + apply
去除pandas_employees.csv中所有字符串列的首尾空格,返回行数。 数据集:pandas_employees 函数:str.strip()
将german_credit_risk.csv所有字符串列统一为小写,返回第一行。 数据集:german_credit_risk 函数:str.lower()
替换german_credit_risk.csv中的特殊字符为空格,返回行数。 数据集:german_credit_risk 函数:str.replace()
从ds_employees.csv的salary列提取第一个数字。 数据集:ds_employees 函数:str.extract
过滤ds_employees.csv中部门包含'Tech'的行数。 数据集:ds_employees 函数:str.contains()
将ds_titanic.csv的name列按逗号分割为姓和名,返回第一个姓。 数据集:ds_titanic 函数:str.split + expand
将ds_titanic.csv的name和sex列合并为一列,返回第一个值。 数据集:ds_titanic 函数:str.cat()
从start_times.csv提取时间格式HH:MM。 数据集:start_times 函数:str.split
过滤ds_titanic.csv中Name列包含'Mr'的行数。 数据集:ds_titanic 函数:str.contains()
筛选german_credit_risk.csv中Checking account列长度大于10的行数。 数据集:german_credit_risk 函数:...
对titanic.csv的Fare列进行Min-Max归一化到[0,1],返回归一化后的前5个值。 数据集:titanic 函数:(x-min)/(max-m...
对heart.csv的chol列进行Z-Score标准化,返回标准化后的均值。 数据集:heart 函数:(x-mean)/std
对titanic.csv的Fare列进行对数变换(加1避免log0),返回变换后的均值。 数据集:titanic 函数:np.log1p()
对titanic.csv的Fare列进行Box-Cox变换,返回变换后的偏度。 数据集:titanic 函数:scipy.stats.boxcox
将titanic.csv的Age列分为4个等频箱,返回每个箱的数量。 数据集:titanic 函数:pd.qcut()
计算titanic.csv的Fare列的百分位排名,返回最高排名值。 数据集:titanic 函数:rank(pct=True)
对titanic.csv的Embarked列进行One-Hot编码,返回编码后新增的列数。 数据集:titanic 函数:pd.get_dummies()
对titanic.csv的Sex列进行标签编码,返回唯一编码值。 数据集:titanic 函数:factorize/LabelEncoder
对titanic.csv的Age列应用自定义函数(年龄分组),返回分组后的唯一值。 数据集:titanic 函数:map + lambda
对german_credit_risk.csv的Age列应用lambda计算年龄平方,返回前3个值。 数据集:german_credit_risk 函数:ap...
将两个DataFrame横向拼接(axis=1),返回拼接后的列数。 数据集:titanic 函数:pd.concat(axis=1)
将titanic.csv分成两部分再纵向拼接,返回行数。 数据集:titanic 函数:pd.concat(axis=0)
对titanic.csv自身进行内连接(on=pclass),返回行数。 数据集:titanic 函数:merge(how='inner')
左连接保留左表所有行,返回行数。 数据集:titanic 函数:merge(how='left')
外连接保留两表所有行,返回行数。 数据集:titanic 函数:merge(how='outer')
按多列进行merge连接,返回行数。 数据集:titanic 函数:on=[col1, col2]
连接时处理重名列(suffixes),返回列名列表。 数据集:titanic 函数:suffixes参数
使用join进行索引级别的连接,返回行数。 数据集:titanic 函数:join()
将数据集按8:2比例分割为训练集和测试集,返回训练集行数。 数据集:titanic 函数:iloc切片
创建新行并追加到DataFrame末尾,返回总行数。 数据集:titanic 函数:concat或append
将长格式数据转换为宽格式(pivot)。 数据集:titanic 函数:pd.pivot_table()
将宽格式数据转换为长格式(melt)。 数据集:ds_titanic 函数:pd.melt()
创建Pclass和Survived的交叉表。 数据集:titanic 函数:pd.crosstab()
对DataFrame进行堆叠操作,返回结果的形状。 数据集:titanic 函数:stack()
对Series进行取消堆叠操作。 数据集:titanic 函数:unstack()
创建透视表同时使用多个聚合函数。 数据集:titanic 函数:aggfunc=[func1, func2]
创建透视表并用0填充缺失值。 数据集:titanic 函数:fill_value参数
创建多层索引的DataFrame并查询。 数据集:titanic 函数:set_index多列
创建带总计行的透视表。 数据集:titanic 函数:margins=True
交换多层索引的层级顺序。 数据集:titanic 函数:swaplevel()
按Pclass分组计算Fare均值。 数据集:titanic 函数:groupby().mean()
按Pclass和Sex分组计算Age均值。 数据集:titanic 函数:groupby([col1,col2])
同时对Fare列计算多个统计量。 数据集:titanic 函数:agg([func1, func2])
使用自定义聚合函数计算极差(max-min)。 数据集:titanic 函数:agg(lambda)
过滤出组大小>200的组。 数据集:titanic 函数:groupby().filter()
用组内均值标准化Fare列。 数据集:titanic 函数:transform(mean)
在每组内对Fare进行排名。 数据集:titanic 函数:groupby().rank()
计算Fare列的累积求和,返回最后一个值。 数据集:titanic 函数:cumsum()
计算Fare列的3日滚动均值,返回非NaN数量。 数据集:titanic 函数:rolling().mean()
计算expanding窗口的累积最大值。 数据集:titanic 函数:expanding().max()
执行完整的ETL流程:读取->缺失处理->类型转换->保存统计。 数据集:titanic 综合练习
计算数据集的质量评分(完整性、唯一性等)。 数据集:german_credit_risk 综合练习
从现有列创建新特征(家庭规模、是否独自旅行等)。 数据集:titanic 综合练习
对ds_titanic.csv的name列进行部分遮蔽处理。 数据集:ds_titanic 综合练习
构建自动化的异常值检测和处理管道。 数据集:heart 综合练习
模拟从多个数据源整合数据的场景。 数据集:titanic 综合练习
生成包含基本统计信息的自动化数据报告。 数据集:titanic 综合练习
将清洗后的数据导出为不同格式。 数据集:titanic 综合练习