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

相关推荐
数据猎手小k6 小时前
AIDOVECL数据集:包含超过15000张AI生成的车辆图像数据集,目的解决旨在解决眼水平分类和定位问题。
人工智能·分类·数据挖掘
sp_fyf_20246 小时前
计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-11-01
人工智能·深度学习·神经网络·算法·机器学习·语言模型·数据挖掘
陈燚_重生之又为程序员7 小时前
基于梧桐数据库的实时数据分析解决方案
数据库·数据挖掘·数据分析
几两春秋梦_11 小时前
符号回归概念
人工智能·数据挖掘·回归
艾派森13 小时前
大数据分析案例-基于随机森林算法的智能手机价格预测模型
人工智能·python·随机森林·机器学习·数据挖掘
神奇夜光杯16 小时前
Python酷库之旅-第三方库Pandas(202)
开发语言·人工智能·python·excel·pandas·标准库及第三方库·学习与成长
武子康18 小时前
大数据-212 数据挖掘 机器学习理论 - 无监督学习算法 KMeans 基本原理 簇内误差平方和
大数据·人工智能·学习·算法·机器学习·数据挖掘
Q81375746018 小时前
数据挖掘在金融交易中的应用:民锋科技的智能化布局
人工智能·科技·数据挖掘
布说在见18 小时前
魅力标签云,奇幻词云图 —— 数据可视化新境界
信息可视化·数据挖掘·数据分析
Tianyanxiao19 小时前
如何利用探商宝精准营销,抓住行业机遇——以AI技术与大数据推动企业信息精准筛选
大数据·人工智能·科技·数据分析·深度优先·零售