前面2篇文章,老海已经分享了Excel与PowerBI在表格转换方面的具体操作。
按照之前的计划,本篇老海将分享使用Python进行一维表与二维表的转换操作,完成三种工具的操作演示和比较,希望可以帮助我们更好理解工具的应用场景和意义。
![286c23ed4deab807c35974fadfecc62e.png](https://img-blog.csdnimg.cn/img_convert/286c23ed4deab807c35974fadfecc62e.png)
Python作为近些年非常流行的编程语言,在数据分析领域应用非常广泛,尤其在培训市场的推动下,现在有一种趋势—“你不会Python,都不好意思说是干数据分析的”。
![dba6e550c02b4c7923e20cb627db697c.png](https://img-blog.csdnimg.cn/img_convert/dba6e550c02b4c7923e20cb627db697c.png)
这里我们不讨论这种现象是否合理,之前老海在微头条中已经聊过,感兴趣可以去翻看一下。
本篇涉及一定代码量,代码比较简单,主要适合具备一定Pyhon基础或者感兴趣的朋友。
OK,下面我们开始正式内容:
本篇依旧使用之前的案例数据:一维表与二维表,存储在Excel文件中。
关于一维表与二维表的区别联系,以及相关数据表述,可以翻看老海之前的文章即可。
![aa5fac715aad05ba686a227f87790c89.png](https://img-blog.csdnimg.cn/img_convert/aa5fac715aad05ba686a227f87790c89.png)
一维表
![75c0e5ce33b88c88bf89c2e4ce212327.png](https://img-blog.csdnimg.cn/img_convert/75c0e5ce33b88c88bf89c2e4ce212327.png)
二维表
下面老海分三个部分来实现一维表和二维表的转化操作:
使用Python导入数据,并查看数据读取情况
- 第一步:导入必要的包,这里我们引入pandas,它主要用于数据处理和统计等相关操作,为了说明编程环境,引入sys包,为了设定数据源位置,引入OS包。本次演示环境WIN10、Python3.7、pandas0.25.0.
![2b297642cc6d4d603c2740893e08b9ff.png](https://img-blog.csdnimg.cn/img_convert/2b297642cc6d4d603c2740893e08b9ff.png)
查看环境,引入必要的包
- 第二步:设定数据源路径。一般我们的工作目录,各有不同,因此我们可以利用os.chdir方法来自定义文件路径,来存放我们的数据源,这里是Excel文件。
![29c90d440e2a7f851529f0a390c7bf45.png](https://img-blog.csdnimg.cn/img_convert/29c90d440e2a7f851529f0a390c7bf45.png)
设定工作目录,存放数据源文件
- 第三步:导入数据源,通过read_excel方法来读取一维表和二维表,其他的表格不需要读取。之后,建议查看导入后数据的情况,一方面观察数据规模,另一方面避免出现乱码等情况。
![45486a25194815e13dc702f1ae14b388.png](https://img-blog.csdnimg.cn/img_convert/45486a25194815e13dc702f1ae14b388.png)
导入对应的数据源
![6a4bc3221c8088d616c4305d20a3a09f.png](https://img-blog.csdnimg.cn/img_convert/6a4bc3221c8088d616c4305d20a3a09f.png)
查看一维表导入情况
![02d6bf735df43a4e0552e5ef58e76c00.png](https://img-blog.csdnimg.cn/img_convert/02d6bf735df43a4e0552e5ef58e76c00.png)
查看二维表导入情况
使用Python将一维表透视转为二维表
- 此处只需pd.pivot_table方法,即可实现转化过程。这个方法类似于Excel透视表功能,而且参数非常灵活。
![e351bfd89e15c18f89647ce613fbd48e.png](https://img-blog.csdnimg.cn/img_convert/e351bfd89e15c18f89647ce613fbd48e.png)
进行透视操作,查看处理结果
使用Python将二维表逆视转为一维表
- 此处通过set_index方法设定索引,利用stack方法进行逆视操作,然后利用reset_index方法重置新的索引即可,同时注意把列名修改为符合需要的名称。
![96909c6b88eaccbf22192f28f8ec94e0.png](https://img-blog.csdnimg.cn/img_convert/96909c6b88eaccbf22192f28f8ec94e0.png)
进行逆视操作,查看处理结果
OK,以上就是Python完成相关操作的具体代码,老海相信还有更好的方法,这里不再赘述。
总之,Python同样可以非常巧妙完成一维表与二维表的转化
- 我们可以把处理结果导出到excel文件中,注意此处pandas导出sheet会出现覆盖数据的问题,因此我们使用pd.ExcelWriter方法来解决它。
![199e937a3cf83294506ba48db392a3f0.png](https://img-blog.csdnimg.cn/img_convert/199e937a3cf83294506ba48db392a3f0.png)
保存处理结果
![10daafdb6f43bafea8816c9216cf74d1.png](https://img-blog.csdnimg.cn/img_convert/10daafdb6f43bafea8816c9216cf74d1.png)
导出的转化结果
![804cda106118bca9955d19ad763f7423.png](https://img-blog.csdnimg.cn/img_convert/804cda106118bca9955d19ad763f7423.png)
导出的转化结果
至此,老海分别实现了Excel、PowerBI、Python三种不同工具的具体操作。
我们除了理解一维表与二维表的区别联系,也要学会如何完成两者之间的转化操作。
![e78a1fdc6b0825796372e31aeed4fd9b.png](https://img-blog.csdnimg.cn/img_convert/e78a1fdc6b0825796372e31aeed4fd9b.png)
相信自己!
希望在阅读完这四篇文章后,我们能够有不同的感受,能够清楚看到哪个更适合自己。
OK,我是数据炼金术师,老海,欢迎关注我,一起分享更多数据知识。