数据的统计描述

本文介绍了如何使用Python的Pandas库处理数据框,包括查看数据基本信息、统计描述以及利用Seaborn库创建相关性热力图来分析数值列之间的关系。热力图在相关性分析、数据比较和模式识别等方面有广泛应用。
摘要由CSDN通过智能技术生成
  1. data.info()

    • 提供了关于数据框的简要摘要,包括:
      • 索引类型
      • 数据列的数量
      • 非空值的数量(针对每列)
      • 每列的数据类型(例如,int64, float64, object等)
      • 内存使用情况
    • 提供了哪些列可能包含缺失值(非空值数量少于数据行数),以及你的数据框大致占用了多少内存。
  2. data.describe()

    • 生成了数据框中数值型列的统计描述。默认情况下,它只包括数值类型的列(即整数和浮点数),不包括对象类型(通常是字符串或混合数据类型)的列。
    • 输出的统计信息包括:
      • count:非空值的数量
      • mean:平均值
      • std:标准偏差
      • min:最小值
      • 25%:第25百分位数(即下四分位数)
      • 50%:中位数(即第50百分位数或第二四分位数)
      • 75%:第75百分位数(即上四分位数)
      • max:最大值

        3.sns.heatmap(correlation_matrix, annot=True, cmap='coolwarm', linewidths=0.5)  

                热力图(Heatmap)在数据分析中是一种非常有用的可视化工具,它可以通过色彩变化来直观地展示数据矩阵中各个元素值的大小。在数据分析的上下文中,热力图通常用于以下几个目的:

  1. 相关性分析:在统计和数据科学中,热力图常被用来表示不同变量之间的相关性。在这种情况下,热力图的每个单元格通常显示两个变量之间的相关系数,颜色越深表示相关性越强,可以是正相关也可以是负相关。这有助于识别哪些变量是高度相关的,从而可能存在多重共线性问题,或者在特征选择时可以考虑剔除一些冗余特征。

  2. 数据比较:热力图可以方便地比较数据矩阵中的值。例如,在展示时间序列数据的变化时,可以使用热力图来突出显示特定时间段内的高值或低值。同样,在比较不同类别或条件下的数据时,热力图能够快速地揭示出哪些类别或条件在数据上表现出显著差异。

  3. 模式识别:热力图有助于识别数据中的模式和趋势。通过颜色的渐变,可以很容易地看出数据中的聚类、周期性变化或异常值。这对于探索性数据分析(EDA)特别有用,因为它可以帮助分析师直观地理解数据的结构和行为。

  4. 沟通和解释:热力图是一种直观的可视化形式,易于理解和解释。因此,它常被用作向非专业人士或利益相关者展示复杂数据分析结果的一种手段。通过热力图,人们可以快速地把握数据中的主要信息和关系,而无需深入研究数据的细节。

在Python中,可以使用Seaborn库或Matplotlib库来创建热力图。Seaborn库提供了更高级的接口和更美观的默认样式,而Matplotlib库则提供了更多的自定义选项和灵活性。 

参考代码

import pandas as pd  
import seaborn as sns  
import matplotlib.pyplot as plt  
  
# 加载数据(保留原路径,但在实际应用中建议使用相对路径或环境变量)  
data = pd.read_csv(r"C:\Users\11794\Desktop\新建文件夹 (2)\train.csv", encoding='utf-8', encoding_errors='replace')  
  
# 数据映射(保持不变)  
# ... [省略了数据映射部分,以保持简洁] ...  
  
# 假设这是您想要保留的所有列,并确保没有空值
columns_to_check = [  
    'Gender', 'Age', 'Height', 'Weight', 'family_history_with_overweight',  
    'SCC', 'FCVC', 'NCP', 'CAEC', 'SMOKE', 'CH2O', 'FAF', 'TUE', 'CALC', 'NObeyesdad'  
]  
  
# 删除包含空值的行  
data = data.dropna(subset=columns_to_check)  
  
# 查看数据信息和描述  
data.info()  
print(data.describe())  
  
# 绘制热力图  
# 选择数值列进行相关性分析  
numerical_columns = data.select_dtypes(include=['int64', 'float64']).columns  
# 计算相关性矩阵  
correlation_matrix = data[numerical_columns].corr()  
# 绘制热力图  
plt.figure(figsize=(12, 10))  
sns.heatmap(correlation_matrix, annot=True, cmap='coolwarm', linewidths=0.5)  
plt.title('Correlation Heatmap')  
plt.savefig('correlation_heatmap.png', bbox_inches='tight')  # 保存热力图到当前目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值