深入pandas:数据分析

目录

前言
第一点:导入模块
第二点:准备数据
第三点:简单的分析数据
第四点:【重点】数据透支
总结

前言

在数据分析与挖掘的领域,了解如何使用工具和方法来探索数据是至关重要的。本文将探讨如何利用Python中的Pandas库进行数据处理和分析。我们将演示如何读取Excel文件中的数据,清洗数据并进行描述性统计,以及如何利用数据透视表来帮助我们理解数据间的关系。


第一点:导入模块

import pandas as pd

第二点:准备数据

本章需要两个表,分别为:

数据分析.xlsx

座位等级表.xlsx

第三点:简单的分析数据

python 复制代码
df=pd.read_excel("数据分析.xlsx",index_col=0)
print(df)
#    年龄 性别     出生年   通过
# 0  10  女  1998.0    是
# 1  21  男  1999.0    否
# 2  32  女     NaN  NaN
# 3  34  女  1992.0    否
# 4  21  男  2000.0    否
# 5  55  女  1888.0  NaN
#显示数据前5条
print(df.head())
#在numpy中我们学到了聚合方法,但是操作起来太麻烦所以我们学的是pandas中的描述方法,他包含了所有聚合函数,非常实用
#描述方法
print(df.describe())
#              年龄        出生年
# count   6.000000     5.000000
# mean   28.833333  1975.400000
# std    15.484401    48.957124
# min    10.000000  1888.000000
# 25%    21.000000  1992.000000
# 50%    26.500000  1998.000000
# 75%    33.500000  1999.000000
# max    55.000000  2000.000000

第四点:【重点】数据透支

python 复制代码
# 数据透视对数据分析十分重要
#导入表
df=pd.read_excel("座位等级表.xlsx",index_col=0)
df=pd.DataFrame(df)
print(df.head())
#  性别    年龄 等级车厢    费用 是否活着
# 1  男  30.0  商务舱  2000    是
# 2  女  25.0  经济舱  1000    否
# 3  男  35.0  头等舱  3000    是
# 4  女  40.0  商务舱  2500    是
# 5  男  28.0  经济舱   800    否
#我们把性别    年龄 等级车厢    费用认为是神经网络的输入特征,是否活着为输出特征
#第一步:我们先把性别作为特征,意思为性别是怎么影响是否活着的数据
# df.pivot_table默认值为mean
print(df.pivot_table("是否活着",index='性别'))
# 性别
# 女    0.6
# 男    0.5
#两个特征:性别,座位等级
print(df.pivot_table("是否活着",index='性别',columns='等级车厢'))
# 等级车厢       商务舱       头等舱       经济舱
# 性别
# 女     0.666667  1.000000  0.500000
# 男     0.500000  0.571429  0.428571

前面的实列只涉及到两个特征,有时候需要考察更多特征与输出特征的关系,这里,我讲把年龄和费用都加进去,但是这两个特征的数值很分散,不能像性别和车辆等级可以按照类分别,因此,需要涉及到数据透视表配套的两个重要函数,pd.cut()和pd.qcut。

python 复制代码
#重置年龄列
age=pd.cut(df['年龄'],[0,50,120]) #以50为分水岭
print(age)
#三个特征
print(df.pivot_table("是否活着",index=["性别",age],columns="等级车厢",observed=False))
# 等级车厢           商务舱       头等舱       经济舱
# 性别 年龄                                 
# 女  (0, 50]    0.75       NaN  0.500000
#    (50, 120]  0.50  1.000000  0.500000
# 男  (0, 50]    0.50  0.500000  0.333333
#    (50, 120]  0.50  0.666667  0.500000
#重置费用列
fare=pd.qcut(df['费用'],2)    #自动分割成两部分
print(fare)
#四个特征
print(df.pivot_table('是否活着',index=['等级车厢',fare],columns=["性别",age],observed=False))
# 性别                            女                   男          
# 年龄                      (0, 50] (50, 120]   (0, 50] (50, 120]
# 等级车厢 费用                                                      
# 商务舱  (419.999, 870.0]  0.500000  0.000000  1.000000  0.333333
#      (870.0, 3300.0]   1.000000  1.000000  0.333333  1.000000
# 头等舱  (419.999, 870.0]       NaN  1.000000  0.000000  0.666667
#      (870.0, 3300.0]        NaN       NaN  0.666667       NaN
# 经济舱  (419.999, 870.0]  1.000000  0.333333  0.500000  0.000000
#      (870.0, 3300.0]   0.333333  1.000000  0.000000  0.666667

总结

通过本文,我们学习了如何利用Pandas库进行数据分析的基本步骤,包括数据的读取、清洗和描述性统计分析,以及如何利用数据透视表来探索数据间的关联。在实际的数据分析工作中,这些步骤是非常常见且必要的。通过不断练习和探索,我们可以更加熟练地运用这些技能,从而更好地理解和利用数据。

相关推荐
好开心啊没烦恼11 分钟前
Python 数据分析:DataFrame,生成,用字典创建 DataFrame ,键值对数量不一样怎么办?
开发语言·python·数据挖掘·数据分析
麻雀无能为力8 小时前
CAU数据挖掘实验 表分析数据插件
人工智能·数据挖掘·中国农业大学
时序之心9 小时前
时空数据挖掘五大革新方向详解篇!
人工智能·数据挖掘·论文·时间序列
永洪科技10 小时前
永洪科技荣获商业智能品牌影响力奖,全力打造”AI+决策”引擎
大数据·人工智能·科技·数据分析·数据可视化·bi
胡耀超14 小时前
标签体系设计与管理:从理论基础到智能化实践的综合指南
人工智能·python·深度学习·数据挖掘·大模型·用户画像·语义分析
Triv202516 小时前
ECU开发工具链1.10版:更强大的测量、校准与数据分析体验.
microsoft·数据分析·汽车电子开发·校准流程自动化·高速信号采集·测试台架集成·实时数据监控
好开心啊没烦恼16 小时前
Python 数据分析:numpy,抽提,整数数组索引与基本索引扩展(元组传参)。听故事学知识点怎么这么容易?
开发语言·人工智能·python·数据挖掘·数据分析·numpy·pandas
会的全对٩(ˊᗜˋ*)و18 小时前
【数据挖掘】数据挖掘综合案例—银行精准营销
人工智能·经验分享·python·数据挖掘
kngines19 小时前
【字节跳动】数据挖掘面试题0007:Kmeans原理,何时停止迭代
人工智能·数据挖掘·kmeans
陈敬雷-充电了么-CEO兼CTO20 小时前
推荐算法系统系列>推荐数据仓库集市的ETL数据处理
大数据·数据库·数据仓库·数据挖掘·数据分析·etl·推荐算法