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["出生日期"])]
dataFrame[pd.isnull(dataFrame["性别"])]
dataFrame[pd.isnull(dataFrame["登记时间"])]
2.7 选取空值最多的变量进行空值处理
print("处理前",dataFrame.shape)
newDataFrame = dataFrame.dropna(subset = ["出生日期"],how = "any")
print("处理后",newDataFrame.shape)
2.8 重复值判断
return1 = dataFrame["会员卡号"].value_counts().count()
print(194760-return1)
return2 = dataFrame["出生日期"].value_counts().count()
print(194760-return2)
return3 = dataFrame["性别"].value_counts().count()
print(194760-return3)
return4 = dataFrame["登记时间"].value_counts().count()
print(194760-return4)
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
|