学习总结-四个使用python数据分析案例练习 2020.3

本文详细介绍了使用Python进行数据分析的四个关键步骤:明确分析目的、构建指标体系、数据清洗和数据分析。在数据清洗阶段,涵盖了处理缺失值、重复值、不一致的数据类型等内容。在数据分析阶段,涉及了统计指标、数据分组、分类计数、排序和可视化等多个方面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.流程

明确分析目的->由数据源构建指标体系->数据清洗->数据处理及分析->结论

2.明确分析目的

–>分析问题产生的原因/分析业务现状/通过分析对业务进行指导……
目的——是具体的、充满定语的、具有返回值的

3.由数据源构建指标体系

区分维度和指标:
维度:对应数据的每一列,多个列组合也可以认为是一个维度
指标:各种统计值
在不同维度上得到各种指标
根据不同数据源和分析目的搭建指标体系
eg:一款付费软件的日活/人均付费/付费渠道/付费功能/使用频次/使用时长……

4.数据清洗

4.1导入库

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

4.2加载文件

df = pd.read_csv('./file.csv')

4.3简单查看数据有哪些列&类型

df.info() # 可看到缺失行在某一列上的条目数少于总数,但当列数目较多时,不容易发现
df.head()

4.4查看数据的整体信息

df.describe()  # 整数型或浮点型数据
df.count() # 查看各列非空数据量

4.5开始数据清理

->对需要分析的维度进行清理
->对于数值型数据,可以通过describe方法输出信息,关注最大值、最小值、平均值、行数等是否符合常理或是否满足本次数据分析目的对数据的要求

4.5.1判断数据是否有null值、0值等

若null值所在行数较少,删除后不会对总体数据产生较大影响

df[df.salary.isnull()] 输出salary列null值所在行的全部信息
df.drop(df[df.salary.isnull()].index, inplace = True)
df[df.salary.isnull()] # 查看是否删除成功

若不想删除数据,则可用聚合函数或前值/后值等替换处理,如使用平均数替换

df['salary'].replace(0,df['salary'].mean(), inplace = True)
# 注:若遇到较多0值,且要采用平均数填充,可先将0值替换为np.nan,再使用列名.fillna()填充该列数据平均数,这样在计算平均数时nan所在行不会对整体平均数产生影响(不计入在内)
df.salary.replace(0,np.nan, inplace = True)
df.salary.fillna(df['salary'].mean(), inplace=Ture)
df['communityAverage'].fillna(df['communityAverage'].mean(), inplace=True) # 对null值,也可使用fillna

df.info() 查看是否有Nan值
Nan非null值,无法用 .isnull()判断
但通过df.info()判断存在缺失值,但又不是null时,可查看其是否为Nan值

df['Type'].value_counts(dropna = False) #统计包括Nan在内的数据
data.dropna()  # 默认axis=0,how='any',删除带有空值的行,只要有一个空值,就删除整行
df.dropna(how='all')            # 整行都是空值时,才会被删除
df.dropna(how='all',axis=1))    # 整列都是空值时,才会被删除
df.dropna(subset=[1,2])
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值