python导出excel_Excel、Power BI及Python系列:使用Python转化一维表与二维表

前面2篇文章,老海已经分享了Excel与PowerBI在表格转换方面的具体操作。

按照之前的计划,本篇老海将分享使用Python进行一维表与二维表的转换操作,完成三种工具的操作演示和比较,希望可以帮助我们更好理解工具的应用场景和意义。

286c23ed4deab807c35974fadfecc62e.png

Python作为近些年非常流行的编程语言,在数据分析领域应用非常广泛,尤其在培训市场的推动下,现在有一种趋势—“你不会Python,都不好意思说是干数据分析的”。

dba6e550c02b4c7923e20cb627db697c.png

这里我们不讨论这种现象是否合理,之前老海在微头条中已经聊过,感兴趣可以去翻看一下。

本篇涉及一定代码量,代码比较简单,主要适合具备一定Pyhon基础或者感兴趣的朋友。

OK,下面我们开始正式内容:

本篇依旧使用之前的案例数据:一维表与二维表,存储在Excel文件中。

关于一维表与二维表的区别联系,以及相关数据表述,可以翻看老海之前的文章即可。

aa5fac715aad05ba686a227f87790c89.png

一维表

75c0e5ce33b88c88bf89c2e4ce212327.png

二维表

下面老海分三个部分来实现一维表和二维表的转化操作:

使用Python导入数据,并查看数据读取情况

  • 第一步:导入必要的包,这里我们引入pandas,它主要用于数据处理和统计等相关操作,为了说明编程环境,引入sys包,为了设定数据源位置,引入OS包。本次演示环境WIN10、Python3.7、pandas0.25.0.
2b297642cc6d4d603c2740893e08b9ff.png

查看环境,引入必要的包

  • 第二步:设定数据源路径。一般我们的工作目录,各有不同,因此我们可以利用os.chdir方法来自定义文件路径,来存放我们的数据源,这里是Excel文件。
29c90d440e2a7f851529f0a390c7bf45.png

设定工作目录,存放数据源文件

  • 第三步:导入数据源,通过read_excel方法来读取一维表和二维表,其他的表格不需要读取。之后,建议查看导入后数据的情况,一方面观察数据规模,另一方面避免出现乱码等情况。
45486a25194815e13dc702f1ae14b388.png

导入对应的数据源

6a4bc3221c8088d616c4305d20a3a09f.png

查看一维表导入情况

02d6bf735df43a4e0552e5ef58e76c00.png

查看二维表导入情况

使用Python将一维表透视转为二维表

  • 此处只需pd.pivot_table方法,即可实现转化过程。这个方法类似于Excel透视表功能,而且参数非常灵活。
e351bfd89e15c18f89647ce613fbd48e.png

进行透视操作,查看处理结果

使用Python将二维表逆视转为一维表

  • 此处通过set_index方法设定索引,利用stack方法进行逆视操作,然后利用reset_index方法重置新的索引即可,同时注意把列名修改为符合需要的名称。
96909c6b88eaccbf22192f28f8ec94e0.png

进行逆视操作,查看处理结果

OK,以上就是Python完成相关操作的具体代码,老海相信还有更好的方法,这里不再赘述。

总之,Python同样可以非常巧妙完成一维表与二维表的转化

  • 我们可以把处理结果导出到excel文件中,注意此处pandas导出sheet会出现覆盖数据的问题,因此我们使用pd.ExcelWriter方法来解决它。
199e937a3cf83294506ba48db392a3f0.png

保存处理结果

10daafdb6f43bafea8816c9216cf74d1.png

导出的转化结果

804cda106118bca9955d19ad763f7423.png

导出的转化结果

至此,老海分别实现了Excel、PowerBI、Python三种不同工具的具体操作。

我们除了理解一维表与二维表的区别联系,也要学会如何完成两者之间的转化操作。

e78a1fdc6b0825796372e31aeed4fd9b.png

相信自己!

希望在阅读完这四篇文章后,我们能够有不同的感受,能够清楚看到哪个更适合自己

OK,我是数据炼金术师,老海,欢迎关注我,一起分享更多数据知识。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值