@
LavaC #28
人脑记忆总是有限的,就算看过的东西也很难全部融汇贯通
说几个例子
qt 文档,QtCore/QtGui/QtWidgets 这三部分我至少看过 50%,但能搞清的也就 20~30%(文档是 C++,我写的是 pyqt ),gpt3.5 至少帮我搞清了一些读过但不会用的部分,现在能搞清的增加到 35%吧
一直想写个 pandas tree 的控件,写不出来,网上也没搜到,pandas table 倒是有的,但 tree 就复杂了很多,最后就是在 AI 帮助下写出来了,也实际用上了,虽然不是 AI 直接写出来的代码,但它帮我打开了思路,就是利用 pandas 的 MultiIndex 。因为之前一直在 groupby 思路转圈走不出来,但 groupby 实际上跟 MultiIndex 是一样的性质-->groupby(as_index=False)就是 MultiIndex 。还有就是不太熟 MVC ,对 model 用法有很多搞不清,这方面基本上全是依靠 AI 讲解
pandas 也是巨多方法不会用
python 原生有个方法 itertools.groupby
# [k for k, g in groupby('AAAABBBCCDAABBB')] --> A B C D A B
# [list(g) for k, g in groupby('AAAABBBCCD')] --> AAAA BBB CC D
就是按相同值分段
我一直想把它在 pandas 实现,因为个人需求很大,很多地方要用到,自己写了倒是能做出来,就是百万数据很慢,优化多次都不理想,搜 so 别人写的也是 itertools.groupby 类似思路
让 AI 帮忙实现,晕倒,简单得很
df[groupname] = (df[col]!=df[col].shift(1)).cumsum(),因为是向量化的,速度很快
就是因为自己不熟 cumsum 函数的实用意义,cumsum 一直固守理解在“求和”上,思维宽度一下子打开了
同理,mask.sum() 就是条件统计,看上去是“求和”,实际是计数器,统计上很常用
numba 文档也是异常难读,一直不敢碰,但 AI 帮我写了几个后,自己也能写一些简单实用的了,尤其数据量上百万时,比“手动”向量化快