python学不会怎么办_学Python很久都学不会,技术大牛教你打开它的正确方式

当下,数字化时代已来临,借着人工智能的东风,Python在编程语言排行中的地位也不断攀升。简洁易于上手的语法和丰富的扩展,让它在教育培训、金融、财务、营销等领域都有一席之地。

c8ea15ce36d3d53963c5efafa822f757342ab00b.png?token=0ac7b995c4d8b8fb5b9f2eb50c7ab831

学Python已成为当下年轻人读懂计算机加快工作效率的一种方式,但是最终取得真经的人少之又少。Python到底可以帮助你实现什么样的操作应用?今天让我们看看开课吧的优秀学员威小明是如何在学业中使用Python爬取数据的。

01优秀学员介绍

威小明,来自某Top2大学的理科研究生,为处理繁多的实验数据踏上了学习Python之路,成功将用于数据处理的工作时间从几小时压缩到了几分钟。他的新座右铭: 当你课余时间不知道学什么的时候,去学学编程,总没错!

02PYTHON挑战赛参赛作品

作为化学专业研究生的我,出于专业目的与兴趣开始学习Python。虽然刚学完爬虫,但因专业需求,提前学了一些Python数据处理的内容,进行专业实验数据的批量处理与作图。

不得不说Python是真的强大,原本在实验室中作图一般用origin,但因为获得的源数据是保存为.txt模式上百个文件。按照原来的方法需要挨个文件打开复制粘贴到origin中(这一步可能就得需要至少一个小时,还涉及.txt文件中的无用抬头信息的删除以及表格信息按照空格分隔等),再进行作图处理时对电脑配置也有要求。作图时由于涉及三维数据,需要先转化为矩阵(以前软件在这一步会经常卡死),并对参数进行非常复杂的调整,难以操作(以前处理该数据时几乎要花费半天到一整天的时间)。

但用Python之后,可以用相当简易的代码实现从上百个.txt文件中自动提取数据生成excel文档,并进行扣除基线,最后生成图像的过程。之后再遇到类似的数据需要处理时,可以直接运行程序,仅需几分钟便能解决,实在是太方便了。目前本人受此启发还制作了其它批量数据处理模板。

在化学专业锂离子电池研究相关内容上,Python也展现了它的强大之处。锂离子电池是利用锂离子在正负两极之间的转移工作的电池,我的研究是针对某锂离子电池正极材料在循环前两圈(即充电-用完电如此循环2次)过程中的结构变化做出的研究。

采用的方法是X射线衍射(简称XRD,可以给出正极材料微观结构相关的信息,正常的XRD图横轴为2倍衍射角,纵轴为衍射强度),在循环过程中进行该测试可以获得不同时间点的XRD图谱,从而得知材料的微观结构在该过程中是如何变化的。要作出的图像为时间变化过程中的XRD叠加图,横轴为2倍衍射角,纵轴为充放电时间,采用颜色映射衍射强度(成为原位XRD图谱,图像类型为matplotlib中的contour图,即热力图)。

下面将贴出这几天针对该项目所写的代码相关的说明。该程序代码分为三个部分:

1.从特定.txt文件中提取表格数据保存至excel;

2.用origin针对第0分钟的XRD数据画图提取基线复制粘贴至excel(经查阅资料,这一步如果用python将涉及机器学习的内容,门槛稍高故借用origin提取基线。很简单,仅需几分钟便能解决,不会引入太多额外工作量),将1中生成的excel中的每列数据扣除基线保存至新的excel;

3.使用pandas库及matplotlib库将2中生成的excel数据转化为横轴为角度,纵轴为时间,颜色映射强度的热力图像(原位XRD图)。

接下来将具体讲述:

从特定.txt文件中提取表格数据保存至excel:

1.进行测试后得到的源数据为如下的数十上百个.txt文件,每个.txt文件前半部分为测试参数(作图不需要),后半部分才是我们需要的数据(列与列之间利用空格隔开,第一列为2倍衍射角,第二列为衍射强度)。

c75c10385343fbf282ef17fc21dbd48767388f5e.jpeg?token=7568094abcf941089ef8a64dd156ea14

b3119313b07eca804de69c62008689daa3448384.jpeg?token=af8615206e0fc7a63b6ddf2c084ef8f6

程序思路是按文件遍历文件夹,将文件打开后按行遍历,当行数据中包含‘*’或‘#’时,执行下一循环,否则将数据按空格分隔为长度为2的list,加入info[]二维list中,使用pandas库写入excel进行保存。提取数据的python代码见step1_txt_to_excel.py。

运行程序后自动保存的excel如下(见文件夹中的results_p_LCO.xlsx),行索引为2倍衍射角,列索引为时间:

738b4710b912c8fc0f82854c65a68c42d788216e.jpeg?token=a50c451082425cd391af3c23ffaacf42

2. 用origin针对第0分钟的XRD数据画图提取基线复制粘贴至excel,将1中生成的excel中的每列数据扣除基线保存至新的excel:

Origin提取得到的基线数据作为一列数据保存在1中生成的excel的sheet2中,现需要将sheet1中的每一列数据减去sheet2的基线数据,并保存为新的excel文件。采用python代码相当简单,见step2_minus_baseline.py,生成的新excel见results_p_LCO_process.xlsx。

3. 使用pandas库及matplotlib库将2中生成的excel数据转化为横轴为角度,纵轴为时间,颜色映射强度的热力图像(原位XRD图),该代码推荐在jupyter notebook中运行,代码见step3_generate_plot.ipynb.

运行程序后获得的原位XRD谱图(热力图)如下(p-LCO-insitu-XRD.png):

b58f8c5494eef01f33cdf0cb715b8722bd317d0b.jpeg?token=023ac114fb6e8ab360dc294c8ef019ea

根据颜色变化及峰位置变化便能获得正极结构变化的相关信息。

如果要改变源数据重新绘制图表,只需要修改每个程序中的文件地址及少量参数;若要做成其他类型图像也只需修改第三步中的contourf方法类型及参数即可。再也不用重头复制粘贴处理上大半天了,麻麻也不用担心电脑死机了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值