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

括号表示法和点表示法之间的速度差异,用于访问pandas中的列

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

括号表示法和点表示法之间的速度差异,用于访问pandas中的列

df['CID']
委托给
NDframe.__getitem__
,显然您正在执行索引操作。

另一方面,

df.CID
to的代表必须
NDframe.__getattr__
做一些额外的繁重工作,主要是确定“
CID”是使用属性访问来调用的属性,函数还是列(方便,但不建议用于生产代码)。


现在,为什么不推荐呢?考虑,

df = pd.Dataframe({'A': [1, 2, 3]})df.A0    11    22    3Name: A, dtype: int64

将“
A”列称为

df.A
,没有任何问题,因为它与熊猫中的任何属性或函数命名都不冲突。但是,请考虑该
pop
功能(仅作为示例)。

df.pop# <bound method NDframe.pop of ...>

df.pop
是的绑定方法
df
。现在,出于各种原因,我想创建一个名为“ pop”的列。

df['pop'] = [4, 5, 6]df   A  pop0  1    41  2    52  3    6

很好,但是

df.pop# <bound method NDframe.pop of ...>

我无法使用属性符号来访问此列。然而…

df['pop']0    41    52    6Name: pop, dtype: int64

方括号表示法仍然有效。这就是为什么这样更好。



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

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

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