1、赛前准备
按照官方的新手教程,大致可概括为以下内容:
- 数据源介绍(详情参考训练营文档)
- 安装运行Python所需要的库
博主在安装过程中遇到了一些问题,经过询问官方人员,得到了解决。
在安装wordcloud
库的时候,装完显示成功了,但是后面导入这个库还是会提示没有这个模块,解决方案是:点击ipynb顶部的刷新内核按钮(Restart the kernel)
同时,我用到了opencv库,所以在官方的基础上增加了安装OpenCV模块的指令。 - 提前下载数据集(这个在官方文档里写的也有,这里不多赘述)
2、数据处理
- 这部分主要学习了通过pandas读取文件,并添加表头(pd.read_csv())
- 关联两个表的数据(pd.merge())
3、数据探索与清洗
- 提取指定的列(pd.DataFrame())
- 【重要】处理数据之前先对空值、数据类型进行转换
4、数据分析与数据可视化
- 按照某一参数进行排序输出(x.groupby())
- 计算某一属性的字段个数(x[“xxxxx”].value_counts())
- pyplot模块的可视化操作
- wordcloud的云词生成
这里重点描述一下学习使用OpenCV的过程。
由于OpenCV版本比较多,部分方法发生了一些改变,所以使用过程中一定要注意对应版本。
刚开始使用的最新的4.x版本,执行过程中遇到了各种各样的问题。后来换了3.x后,流畅了许多。
对于拜登照片的原图处理问题,这里我简单叙述一下我的操作逻辑。
首先下载原图,然后通过OpenCV加载图片,接着通过GrubCut算法
将原图的背景抠除(这里指定了目标矩形区域,实际上可以通过算法检测到大致范围,因为目标图片只有这一个,所以我手动定义了),接着将抠出的图片进行变色,把目标区域与背景颜色区分开来。由于抠图出来的结果有很多孔洞,所以使用填补孔洞算法,把图形中间的孔洞用想同的颜色填充。最后**!!!一定要记得把背景色改成白色,因为我在实践过程中,发现,背景是黑色的话,云词不能识别出来图片的形状。**接着保存图片,然后就可以通过云词模块生成对应的云词。
5、补充
从后台看到这边文章的阅读量挺高的,本人也挺喜欢开源,但是考虑到开源后的种种问题,一直很犹豫,这里做一个小调查,希望大家能够予以真实的反馈,毕竟学习是自己的,开源也是希望更多的同学能够学习。
如果开源了,并且你需要这段代码,你会选择怎样对待这段代码?复制粘贴,完成任务?认真阅读,学习方法?拿来执行一遍,成功就不管了?
如果你认真阅读了,你会指出这段代码哪里可以优化的地方吗?你愿意与其他人分享你不同于博主的解决方案吗?如果你没看懂,你愿意与其他人在评论区沟通吗?
大致是这些问题,大家可以自由发挥,以私信或评论的方式回复,推荐私信(相对匿名)。