购物篮分析题库

购物篮分析基础 0/5 (0%)

编程题
1
数据加载与探索
简单 20分钟
2
商品组合统计
中等 25分钟
选择题
A
购物篮分析概念
简单 选择题
B
关联规则指标
中等 选择题
C
支持度与置信度
简单 选择题

Apriori算法 0/4 (0%)

结果可视化与应用 0/3 (0%)

问题1:供应链数据预处理

00:00
简单

编写一个程序,对供应链数据进行预处理,包括缺失值处理、异常值检测等。

输入:

包含缺失值和异常值的供应链数据

输出:

处理后的干净数据

要求:

  • 识别并统计缺失值
  • 使用合适的方法填充缺失值
  • 检测并处理异常值

代码编辑器

正在加载Python解释器...

运行结果

执行时间:0ms 内存:0MB
运行代码查看输出...

答案解析

解题思路

1. 使用Pandas的isnull()和sum()方法识别并统计缺失值

2. 根据数据类型选择合适的填充方法:数值型数据使用均值或中位数,分类型数据使用众数

3. 使用IQR方法检测异常值

代码示例

import pandas as pd
import numpy as np

# 创建示例数据
data = {
    'product_id': [1, 2, 3, 4, 5, 6],
    'demand': [100, 120, np.nan, 150, 200, 1000],
    'lead_time': [7, 8, 6, np.nan, 9, 8],
    'supplier': ['A', 'B', 'A', 'C', 'B', 'A']
}
df = pd.DataFrame(data)

# 识别缺失值
print("缺失值统计:")
print(df.isnull().sum())

# 处理缺失值
df['demand'] = df['demand'].fillna(df['demand'].mean())
df['lead_time'] = df['lead_time'].fillna(df['lead_time'].median())

# 检测异常值(IQR方法
Q1 = df['demand'].quantile(0.25)
Q3 = df['demand'].quantile(0.75)
IQR = Q3 - Q1
lower = Q1 - 1.5 * IQR
upper = Q3 + 1.5 * IQR
outliers = df[(df['demand'] < lower) | (df['demand'] > upper)]
print("\n检测到的异常值:")
print(outliers)

# 处理异常值(截断)
df['demand'] = df['demand'].clip(lower, upper)

print("\n处理后的数据:")
print(df)
                    

知识点