如何为Mashable数据集的X、Y、Z数值变量生成指定统计量表格?
生成Mashable数据集数值变量统计表格的实现方案
嘿,这事儿用Python的pandas库就能轻松搞定,它专门处理这类数据集统计和表格生成的需求,下面是具体步骤和代码:
步骤1:准备工作
首先确保你已经安装了pandas,如果没装的话,先执行这个命令:
pip install pandas
然后导入库并加载你的Mashable数据集(假设是CSV格式,如果是其他格式比如Excel,换成pd.read_excel()就行):
import pandas as pd # 加载数据集,替换成你的文件路径 df = pd.read_csv("mashable_dataset.csv")
步骤2:定义统计量计算函数
咱们可以写一个小函数,用来计算单个数值变量的所有指定统计指标,这样处理X、Y、Z三个变量时更高效:
def calculate_stats(col): count = df[col].count() pct_missing = round((df[col].isna().sum() / len(df)) * 100, 2) cardinality = df[col].nunique() min_val = df[col].min() q1 = df[col].quantile(0.25) mean = round(df[col].mean(), 2) median = df[col].median() q3 = df[col].quantile(0.75) max_val = df[col].max() std_dev = round(df[col].std(), 2) return [count, pct_missing, cardinality, min_val, q1, mean, median, q3, max_val, std_dev]
步骤3:生成统计表格
接下来针对X、Y、Z三个变量,调用上面的函数收集统计数据,然后整理成DataFrame,最后导出成Markdown格式的表格:
# 指定要分析的变量列表 variables = ['X', 'Y', 'Z'] # 构建统计结果的字典 stats_dict = { "Feature": variables, "Count": [calculate_stats(var)[0] for var in variables], "% Missing": [calculate_stats(var)[1] for var in variables], "Cardinality": [calculate_stats(var)[2] for var in variables], "Min.": [calculate_stats(var)[3] for var in variables], "1st Quartile": [calculate_stats(var)[4] for var in variables], "Mean": [calculate_stats(var)[5] for var in variables], "Median": [calculate_stats(var)[6] for var in variables], "3rd Quartile": [calculate_stats(var)[7] for var in variables], "Max.": [calculate_stats(var)[8] for var in variables], "Std. Dev.": [calculate_stats(var)[9] for var in variables] } # 转换成DataFrame stats_df = pd.DataFrame(stats_dict) # 输出Markdown格式的表格 print(stats_df.to_markdown(index=False))
补充说明
- 代码里的
round()函数是用来控制小数位数的,你可以根据需求调整保留的位数; - 如果你的数据集里X、Y、Z的列名不是精确的'X'/'Y'/'Z',记得替换成实际的列名;
- 执行完代码后,控制台会直接输出符合你要求格式的Markdown表格,你可以直接复制使用。
内容的提问来源于stack exchange,提问作者Lisa Staal
相关产品推荐
相关产品推荐

