「」这些让人相见恨晚的高效代码小技巧你听过吗?( 三 )
本文插图
图源:unsplash
你能看到前面的reset_index函数 。 它有助于适当地重排索引 , 因为获取随机子集时 , 索引也会被重新排列 。
本文插图
保留内存
随着编程的深入 , 你将意识到记住内存高效代码的重要性 。 生成器是返回我们可以遍历的对象的函数 。 这有助于有效利用内存 , 因此它主要用于当在无限长的序列上迭代 。
def SampleGenerator(n): yield n n = n+1 yield n n = n+1 yield ngen = SampleGenerator(1)
Yield 语句暂停函数 , 保存其所有状态 , 并在以后的连续调用中继续执行 。
如转载 , 请后台留言 , 遵守转载规范print(next(gen)) print(next(gen)) print(next(gen))
本文插图
如你所见 , yield保存了前一个状态 , 而每当我们调用下一个函数时 , 它都会继续到下一个返回其新输出的yield 。
通过添加在generator函数内无限运行的while循环 , 可以迭代单个yield 。
def updatedGenerator(n): while(1): yield n n = n + 1 a = updatedGenerator(1)for i in range(5): print(next(a))
本文插图
While语句可以反复迭代相同的yield语句 。
本文插图
救世主Skiprows
重头戏压轴出场!要读取的csv文件过大 , 以至于内存不够用?Skiprows可以轻松解决 。
本文插图
图源:unsplash
它可以指定需要在数据框中跳过的行数 。
假设有个100万行的数据集 , 不适合你的内存 。 如果分配skiprows=0.5 million(跳读50万行) , 在读取数据集的时候就会跳过50万行 , 这样就可以轻松地读取数据集的子集 。
df = pd.read_csv('artist.csv') df_new = pd.read_csv('artist.csv',skiprows=50)df.shape, df_new.shape
本文插图
在上面的代码片段中 , df表示包含112行的数据集 。 在添加了skiprows=50(跳读50行)之后 , 它跳过了数据集中的50行 , 从而读取了62行作为新数据集 。
破案啦!编码效率提升一大截的秘密就在于此 。
本文插图
留言点赞关注
我们一起分享AI学习与发展的干货
【「」这些让人相见恨晚的高效代码小技巧你听过吗?】如转载 , 请后台留言 , 遵守转载规范
- 海外资金■爆棚!百度概念龙头被机构扎堆调研,销量翻倍式增长,这些调研股低估值
- 找公众号投放广告有哪些坑?我总结了这些经验
- 湟中路小游:出门见景!西宁这些公园游园正在加紧建设中
- 娱乐中的趣闻还在为生存所困扰吗?试试这些道具!,我的世界:星际探险新模式
- [教育部]教育部动真格:老师再考这些学生拒绝作答,培训机构再讲就投诉
- 中金网全球经济将迎来U型、L型还是V型复苏?三种情形下这些货币将笑傲群雄
- 步枪:为什么刚枪总是我成盒?做到这些你就能驰骋和平精英战场
- 『停水』停水通知!明晚起郑州这些区域将停水72个小时!
- 太平洋电脑网告别卡顿烦恼,这些高速SSD你值得拥有
- 危司机关于运输危险化学品有哪些规定?这些规定你一定要了解