爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 14893|回复: 8

[求助] 吐槽 - 新人常见Python的槽点,如何克服

[复制链接]

新浪微博达人勋

发表于 2020-4-17 07:25:04 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
本帖最后由 Legendary 于 2020-4-28 12:03 编辑

关于Python的吐槽:



在python上想要实现一个目的有太多种做法了,对于没有系统学习某一个Library的人来说,直接谷歌答案,结果往往很不友好:



1. 官方指南上的说明往往是函数后面跟着一堆符号,具体怎么用一个例子都没有,绝大多数情况下(除非函数非常简单)看完官方指南以后还要去各大论坛搜案例和对应的代码。

2. 由于实现方法特别多,所以论坛上的解决方案五花八门。有时候眼前一亮发现方法A可以解决,试了以后发现自己的数据格式(或者之前做的处理)不适用这个A,于是搜其他方法,但其他方法自己又不一定看得懂,不会套用,往往一个小问题搜上好几个小时。

就拿coloerbar来说吧,单独一张折线图的colorbar有很多种设置方法,而如果一张图里有很多小图,每个小colorbar的设置可能方法就又不一样了。更可怕的是如果你用了不同的Library出了不同类型的图,调这些小东西占的时间不比计算少。比如Basemap出的多张填色小图,想统一色标的最大最小值,用clim,vmin_vimax,都是无效的。

3. Python计算和出图的速度比NCL差远了,出几张图的时间够我在这里吐槽这么久了。

以上问题有终极解决方案的跪求回帖

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2020-4-17 11:41:16 | 显示全部楼层
我觉得确定要用python的话,最好是能在了解自己所要完成的工作(数据信息、要达到目的)的基础上面,利用能搜索到的经验结合自己的思考去做吧。而且搜索的时候,一开始可能比较泛,但是自己有思考的话,其他的东西都是为自己的思路做服务的,而不是搜索的内容来主导自己的思路。都是相辅相成的吧。
不同的编程作图语言都各有各的特色和好处,选择合适自己的就行了。
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

发表于 2020-4-17 08:36:18 | 显示全部楼层
在有限的时间内无法学习无限的知识
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-4-17 10:05:56 | 显示全部楼层
还是用ncl方便,除非要去搞深度学习之类的东西。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-4-17 15:51:33 | 显示全部楼层
没有用过NCL,但觉得Python计算和出图还是挺快的,而且整体来看出图比NCL美观,只不过找案例脚本和调格式确实比较恼火。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-4-17 19:04:15 | 显示全部楼层
这些问题轮不到我们这些学气象的人去操心,如果实在想要吐槽,请去Python社区或者其他GNU社区,那边讨论楼主提出的这些问题比这边还要多,而且还都是业界大牛...

至于basemap.pcolormesh的几个param无法设置应该是功能不完备的原因,Basemap已经停止开发和维护了,这个问题也无解,但可以尝试先用basemap坐标投影好之后,再用ax.pcolormesh画在相应的子图上。

另外尽量不要用for循环,如果能数组化或者矢量化是最快的
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-4-19 16:56:34 | 显示全部楼层
用了python之后,关于debug的一个感触就是,必须要配合非正常上网方式,在谷歌或StackOverflow里提问,这样往往会得到比直接阅读原英文文档更好的效果。
仅仅凭借百度的资源,是远远不够的。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-4-19 23:53:17 | 显示全部楼层
同感啊!
有两个方面让人恼火,一个是包安装。包之间不兼容现象太多,比如更新pyQt5后,Spyder就打不开了。类似这种情况太多了。虽说用conda安装能避免很多坑,但是有些包conda又安装不了。有时候安装包实在是耗费精力。
另一个是说明文档太简单了。许多包没有详细介绍,导致使用时需要另外搜索相关用法,这种搜索来的用法往往是片面的,这点和MATLAB的官方说明文档比起来差太多太多了。ps:计算速度也比MATLAB稍微慢一些,不过出的图比MATLAB好看。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2022-7-3 17:58:50 | 显示全部楼层
ncl和python两个的学习成本其实差不多,但两个的功能是天差地别,python肯定方便且全面的多。不过你要之前就会ncl,其实够用就行了
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表