第八章,汇总数据

聚集函数

AVG() 			返回某列的平均值
COUNT()			返回某列的行数
MAX()			返回某列的最大值
MIN()			返回某列的最小值
SUM()			返回某列值之和 
对所有行执行计算 ALL (默认值)
只包含不同的值	DISTINCT ,distinct 必须使用列名,不能用于计算或表达式
### Python 数据挖掘 第8章 复习思考题1 的解答 #### 问题背景 在《Python金融数据挖掘》第八章中,复习思考题1通常涉及数据分析的基础操作以及对实际业务场景的理解。虽然具体题目可能有所不同,但一般会围绕以下主题展开: - 使用 Pandas 和 NumPy 进行数据预处理。 - 对客户行为数据进行探索性分析。 - 计算基本统计量并可视化。 以下是针对此章节复习思考题1的一个常见版本及其解答: --- #### 题目描述 假设有一个包含1000名客户的交易记录的数据集,每条记录代表一名客户的一次购物情况。数据集中有多个商品类别列(如水果蔬菜 `fruitveg`、鲜肉 `freshmeat` 等),取值为二分类变量(1 表示购买,0 表示未购买)。请完成以下任务: 1. 加载数据并查看前几行。 2. 统计每一类商品被购买的总次数。 3. 找出哪些商品组合最常一起出现。 4. 可视化任意两类商品之间的关系。 --- #### 解答过程 ##### 1. 加载数据并查看前几行 通过 Pandas 库加载 CSV 文件,并显示前五行数据以便了解数据结构。 ```python import pandas as pd # 假设数据存储在一个名为 'customer_data.csv' 的文件中 data = pd.read_csv('customer_data.csv') print(data.head()) ``` 这一步可以直观展示数据表头和部分内容[^1]。 ##### 2. 统计每一类商品被购买的总次数 可以通过求和的方式计算每个商品类别中值为1的数量。 ```python purchase_counts = data.sum() print(purchase_counts) ``` 这段代码返回的是一个 Series 对象,其中索引是各商品名称,值是对应该商品被购买的总次数[^2]。 ##### 3. 找出哪些商品组合最常一起出现 为了找到最常见的商品组合,可采用 Apriori 算法或其他关联规则挖掘方法来发现频繁项集和支持度较高的规则。 ```python from mlxtend.frequent_patterns import apriori, association_rules # 将原始 DataFrame 转换为布尔型矩阵 (True/False),便于后续运算 df_encoded = data.astype(bool) # 寻找支持度大于等于某个阈值的频繁项集 frequent_itemsets = apriori(df_encoded, min_support=0.05, use_colnames=True) # 构建关联规则 rules = association_rules(frequent_itemsets, metric="lift", min_threshold=1) print(rules[['antecedents', 'consequents', 'support', 'confidence', 'lift']]) ``` 这里使用了 `mlxtend` 库实现 Apriori 算法,设置最小支持度为 0.05 并提取置信度较高的一些规则[^3]。 ##### 4. 可视化任意两类商品之间的关系 绘制热力图可以帮助理解不同商品间的联合概率分布。 ```python import seaborn as sns import matplotlib.pyplot as plt # 创建商品间的关系矩阵 correlation_matrix = data.corr() # 绘制热力图 plt.figure(figsize=(10, 8)) sns.heatmap(correlation_matrix, annot=True, cmap='coolwarm', fmt='.2f') plt.title("Correlation between product categories") plt.show() ``` 以上代码生成了一个相关性热力图,能够清晰看出各类商品之间是否存在较强的正向或反向联系[^4]。 --- ### 结论 综上所述,《Python金融数据挖掘》第八章复习思考题1主要考察学生对于真实世界商业数据的操作能力,包括但不限于基础统计汇总、模式识别以及图形表达等方面的知识点应用。 --- ####
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值