◆ ◆ ◆ ◆ ◆
本文亮点
本文基于某款互联网游戏APP用户注册数据进行分析,讲解了python中两个使用频率特别高的第三方库:pandas 和 matplotlib。pandas相信大家已经非常熟悉了,但是matplotlib绘图,还需要精心研究。想绘制出美美的图形,需要下一番功夫。温馨提示:本文与以下文章合服效果更佳哦~
数据分析实战
import pandas as pd
import matplotlib.pyplot as plt
# 读取数据文件
file = r'~/Desktop/data.xlsx'
df = pd.read_excel(file)
df.head()
# 见图1
df.info() # 用于查看每个字段的情况:类型、是否为空
/*
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 4559 entries, 0 to 4558
Data columns (total 6 columns):
用户ID 4559 non-null int64
注册日期 4559 non-null datetime64[ns]
身份证号码 4559 non-null object
性别 4559 non-null object
出生日期 4559 non-null datetime64[ns]
年龄 4559 non-null int64
dtypes: datetime64[ns](2), int64(2), object(2)
memory usage: 213.8+ KB */
df.isnull().sum() # 统计每列的空值情况
/*
用户ID 0
注册日期 0
身份证号码 0
性别 0
出生日期 0
年龄 0
dtype: int64 */
df.describe()
# 见图2
df1 = df.groupby('注册日期',as_index = False)[['用户ID']].count()
df1.rename(columns = {'用户ID':'用户数量'},inplace=True)
df1.tail()
# 见图3
# 绘制折线图
plt.figure(figsize = (12,8),dpi = 80)
plt.xlabel('注册日期')
plt.ylabel('用户数量')
plt.plot(df1['注册日期'],df1.iloc[:,1],marker = 'o')
plt.legend()
plt.show()
# 见图4
# 绘制扇形图
plt.pie(x = df['性别'].value_counts(normalize = True),labels=['男生','女生'])
plt.title('性别占比',fontsize = 20)
plt.show()
plt.close()
# 见图5
# 保存df为excel文件
df1.to_excel(r'C:/Users/Administrator/Desktop/result.xlsx',index=False)
主要是学习pandas的方法,和matplotlib的绘图方法,出图结果请继续阅读。
结果展示
(图1)
(图2)
通过该方法,我们可以清楚地看到:用户的平均年龄为27岁,说明此款APP的受众、客群为青年人。在进行市场宣传、广告投放时,应该注意人群的选择,否则会增加不必要的支出且收效甚微。
(图3)
(图4)
通过对折线图的分析可知:该款APP从发布之日势头很足,用户数量一路上升。但是,从1月21号之后,每日用户增长量基本持平,但是月末有所下降。说明我们的推广人员有所懈怠。月底应该是冲量的时间,但是数据上并没有保持增长的势头,推广人员还需要进一步深挖意向客户。同时,市场要增加APP的曝光,从更多渠道获取客户流量,尤其是男性客户,男性客户占比92.6%。
(图5)
结束语
这篇文章中的知识点,非常密集,需要认真学习哦~尤其是matplotlib,想画图好看,需要潜心研究、学习。