栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

熊猫DataFrame性能

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

熊猫DataFrame性能

字典对于Dataframe的要求就像自行车对汽车的要求一样。您可以比骑车快10英尺,比起启动汽车,使齿轮换挡等更快速。但是,如果您需要走一英里,汽车就可以胜出。

对于某些小的目标目标,命令可能会更快。如果这就是您所需要的,那么请确定使用dict!但是,如果您需要/想要Dataframe的强大功能,那么dict是无可替代的。如果数据结构首先不能满足您的需求,那么比较速度是没有意义的。

现在,例如-更具体地讲-一个dict对于访问列是很好的,但是对访问行却不是那么方便。

import timeitsetup = '''import numpy, pandasdf = pandas.Dataframe(numpy.zeros(shape=[10, 1000]))dictionary = df.to_dict()'''# f = ['value = dictionary[5][5]', 'value = df.loc[5, 5]', 'value = df.iloc[5, 5]']f = ['value = [val[5] for col,val in dictionary.items()]', 'value = df.loc[5]', 'value = df.iloc[5]']for func in f:    print(func)    print(min(timeit.Timer(func, setup).repeat(3, 100000)))

产量

value = [val[5] for col,val in dictionary.iteritems()]25.5416321754value = df.loc[5]5.68071913719value = df.iloc[5]4.56006002426

因此,列表的dict检索行的速度比慢5倍

df.iloc
。随着列数的增加,速度不足会变得更大。(列数就像自行车比喻中的脚数。距离越长,汽车就越方便…)

这只是列表的字典不如Dataframe方便/慢的一个例子。

另一个示例是当您为各行设置了DatetimeIndex并希望选择某些日期之间的所有行时。有了Dataframe,您可以使用

df.loc['2000-1-1':'2000-3-31']

如果要使用列表字典,则没有简单的模拟方法。与Dataframe相比,您需要用于选择正确行的Python循环将再次非常慢。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/651614.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号