Python数据分析期中测试--百货商场案例

Posted amcomputer

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python数据分析期中测试--百货商场案例相关的知识,希望对你有一定的参考价值。

Python数据分析期中测试–百货商场案例, 使用pandas

1 背景介绍

帮同学写了这个作业,花了2个多小时吧,熟悉的人做应该不到半个个小时就好了吧。主要不熟练pandas库,很多东西都要自己查一下API,也是第一次用Jupyter,这个东西真的恶心人,用Pycharm或者Spyder不好吗?调试也不方便。 反正笔者是没有搞懂Jupyter的好处,估计是对非科班的人吧,看一行run一行, 方便找到结果。写本篇博客的目的是回顾一下pandas的基本用法和数据分析思路,以后遇到同类问题找资料比较方便一点,也算是一个查找字典吧。

2 开始实战

2.1 数据分析期中测试–百货商场案例

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

%matplotlib inline
plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
matplotlib.rcParams.update('font.size' : 16)
plt.style.use('ggplot')
warnings.filterwarnings('ignore')

2.2 读取数据

df_cum = pd.read_excel('./cumcm2018c1.xlsx')

2.3 查看数据前10行

df_cum.head()

2.4 数据探索与预处理

df_cum.shape # 查看行数和列数

df_cum.dtypes # 查看行数和列数

2.5 数据信息概况

df_cum.describe #  统计描述信息

2.6 空值判断

dataFrame = df_cum
dataFrame[pd.isnull(dataFrame["会员卡号"])]  #判断该列是否空值的,并显示
dataFrame[pd.isnull(dataFrame["出生日期"])] # 34188 行为null
dataFrame[pd.isnull(dataFrame["性别"])]     #9435 行为null
dataFrame[pd.isnull(dataFrame["登记时间"])] #12684 为null

2.7 选取空值最多的变量进行空值处理

# "出生日期"列有34188 行为null ,故选择该列

print("处理前",dataFrame.shape)
newDataFrame = dataFrame.dropna(subset = ["出生日期"],how = "any") #直接删除空值
print("处理后",newDataFrame.shape)

2.8 重复值判断

#return1 = dataFrame["会员卡号"].duplicated()
return1 = dataFrame["会员卡号"].value_counts().count() # 计算非重复值个数。 194754
print(194760-return1) #重复值个数 6
return2 = dataFrame["出生日期"].value_counts().count() # 计算非重复值个数。 194754
print(194760-return2) #重复值个数 176736
return3 = dataFrame["性别"].value_counts().count() # 计算非重复值个数。 194754
print(194760-return3) #重复值个数 194758
return4 = dataFrame["登记时间"].value_counts().count() # 计算非重复值个数。 194754
print(194760-return4) #重复值个数 164391

2.9 选取重复值值最多的变量进行重复值处理

# "性别" 列重复数据最多
print(dataFrame.drop_duplicates(["性别"],keep="last")) #去除某一列的重复数据

3统计性分析

3.1 将性别列进行转换,0表示女,1表示男

# 先删除异常值
dataFrame = df_cum
dataFrame["性别"].dropna()
sexDataFrame = dataFrame["性别"].replace([0,1],["女","男"])

3.2 分析男女比例

sexList = list(sexDataFrame)
print("总人数:",len(sexList))
不可见,付费内容....

3.3 将年龄划分为老年(1920-1950)、中年(1960-1990)、青年(1990-2010),绘制一个饼图

付费内容
这里代码就不直接给出了,
资料百度网盘分享:有需要联系qq:2256479514                
ps(非诚勿扰):9.9RMB

以上是关于Python数据分析期中测试--百货商场案例的主要内容,如果未能解决你的问题,请参考以下文章

大数据项目在线实习

数商云综合型百货电商平台解决方案

python自动化测试高薪,写给准备转行的朋友:非科班出身,怎么成为测试员!

ArcGIS Pro微课1000例0025:大型商场选择典型案例(缓冲区分析+叠置分析)

ArcGIS Pro微课1000例0025:大型商场选择典型案例(缓冲区分析+叠置分析)

技术杂谈 之 室内导航