熊猫:frame.loc [:,' col']和frame [' col']之间的区别

时间:2017-04-10 17:05:33

标签: python pandas

我是熊猫的新手,我正在重构一些看似冗长的代码。但是,我发现了很多以下选择:

frame.loc[:, 'col']

所以,我的问题是,这是否相当于:

frame['col']

因为我想使用后一种形式,因为前者似乎很冗长。但是,如果有什么不同请告诉我,谈论表现,是否比另一个更好?

1 个答案:

答案 0 :(得分:1)

回答你的问题,背景很重要。

第一个:

frame.loc[:, 'col']

隐式选择所有行,并且' col'感兴趣并返回一个视图,这里的隐含用例是用于赋值。

另一种方法:

frame['col']

返回' col'感兴趣,但对此的分配可能有效,也可能无效。

如果目的只是为了返回' col'感兴趣的是它们都是相同的,但是如果你打算分配给它,那么第一个方法就是返回一个视图,这样原来的df就会受到影响。

关于您对性能的评论,两者之间可能没有区别,但为了快速访问,您应该查看assignment with enlargment以进行快速标量访问。

此外,其他语义差异为{{3}},这是为了追加不存在的行或添加列。