使用pandas.loc访问器从数据帧中选择行和列的“正确”方法是什么?
这个问题与我提出的问题有很大关系,但我觉得这是两个不同的问题 这里有两行独立的代码。我认为它们应该产生相同的结果,但不理解为什么第一个会抛出异常。我怀疑第一种方法是不正确的,但不知道为什么 df.loc[df.year.notnull(),['year']] # LINE 1: throws "MemoryError" (see below) df.loc[df.year.notnull()].year # LINE 2: WORKS FINE 有关引发的异常的更多信息: ../lib/python2.7/site-packages/pandas/core/index.pyc in get_indexer_non_unique(self, target, **kwargs) 843 tgt_values = target.values 844 --> 845 indexer, missing = self._engine.get_indexer_non_unique(tgt_values) 846 return Index(indexer), missing 847使用pandas.loc访问器从数据帧中选择行和列的“正确”方法是什么?,pandas,Pandas,这个问题与我提出的问题有很大关系,但我觉得这是两个不同的问题 这里有两行独立的代码。我认为它们应该产生相同的结果,但不理解为什么第一个会抛出异常。我怀疑第一种方法是不正确的,但不知道为什么 df.loc[df.year.notnull(),['year']] # LINE 1: throws "MemoryError" (see below) df.loc[df.year.notnull()].year # LINE 2: WORKS FINE 有关引发的异常的更多信息: ../
很抱歉,我还没有弄明白如何用玩具示例重现错误。我的DataFrame df有100000行和17列。它是从一个更大的数据框1000000行和89列中采样的。较大的数据帧是使用read_csv和index_col=False创建的。我不确定这些信息是否相关。两者都应该有效,因为前者将返回数据帧而不是序列。请考虑发布GITHUB……打开,看起来链接的问题固定在0.12。