Python + Pandas + Matplotlib初探数据分析

如题所述

第1个回答  2022-08-21

大数据测试,说来进入这块领域也快2年半了。每天工作的内容是验证数据表的逻辑正确性。

最近偶有所思,数据测试能否更进一步?如何利用已有技能对海量数据进行全面分析,找出数据质量问题或协助数据分析师发现逻辑漏洞?

再或者,能否向数据分析师转型呢?想得很多,思绪有些杂乱。于是我冷静了下,不再空想。我先做点东西出来看看,再评估下自己是否有这个能力和资质。

花了1个星期的时间,学习了 Python 的 Pandas 模块,按照学习示例一边学习一边实操,慢慢地感觉就来了。对 Pandas 有了基本的认知后,我在寻找一个突破点,我想我不能一直只是这样按照示例代码敲下去,毫无意义。

我得将所学的 Pandas 知识结合公司现有的业务进行运用。刚开始至少能简单地开始对某张数据表的某个指标进行数据分析。于是我按照这样的想法对 test. test_resv001_room_daily_df 表的 number_of_room_nights 指标开始了数据分析的 探索 。


1、hivesql数据准备

hivesql内容说明:

从上面的 hivesql 语句可以看出,这条 sql 的目的是查询出 hotel_code_new 为 'CNSZV002','CWH','CWSW','ESL','FIJ' 在2019年各个月份的 number_of_room_nights 指标总和,按照 hotel_code_new 和月份作分组和排序。


2、代码实现


3、hive数据库all_data的数据结构查询结果


4、代码实现2中的print(df)输出结果

手工校对通过,与 hivesql 输出结果一致。


5、将dataframe数据结构的df数据使用plot生成趋势图

调用df.plot()不带任何参数的趋势图如下:

上述折线图表示:当前月份值及 历史 月份值的累加和。


调用df.plot(kind='bar')时加上参数kind='bar'的趋势图如下:

上述柱状图表示:当前月份值及 历史 月份值的累加和。

两个图只是展示形式上的区别,都能在一定程度上体现2019年12个月份每个不同 hotel_code_new 当前月份与 历史 月份 number_of_room_nights 值的累加和的数据分布情况,可以说是一个简单的数据分析。


6、将dataframe数据写入csv文件

room_nts.csv内容如下:


7、读取csv文件中dataframe数据


8、将dataframe多维数据存储到excel中

room_nts.xlsx文件中sheet_name为room_nts的内容如下:


9、从excel中读取dataframe多维数据


小结

今天分享的数据分析内容比较基础,主要是将学到的技能与业务相结合的初步 探索 ,后续还需要不断 探索 与学习,将学习到的技能加以思考并运用到实际项目业务中,如此方能走得更远。