2024-03-29 08:11:34 发布
网友
>>> import pandas as pd >>> pd.__version__ '0.16.1' >>> s1 = pd.Series([1, 3, 5], index=list('abc')) >>> s1.iloc(0) <pandas.core.indexing._iLocIndexer object at 0x10ca3f690>
我希望为s1.iloc(0)返回整数1,但得到了_iLocIndexer对象。我能拿这个东西做什么?我该怎么处理?
s1.iloc(0)
_iLocIndexer
由于@JohnE,解决方案是使用方括号[0],而不是(0)和iloc。
[0]
(0)
iloc
在翻阅了一些熊猫代码之后得到了更多的信息。
s1.iloc使iloc看起来像一个方法。但它是一个属性,属性的值是_iLocIndexer。_iLocIndexer可以用参数调用,它返回自身的一个副本,忽略任何参数或kwarg(请参阅pandas.core.indexing.\u NDFrameIndexer.在pandas代码中调用)。这就是为什么s1.iloc(0)是一个有效的调用。
s1.iloc
使用方括号调用s1.iloc[0]时,将实例化_iLocIndexer,对[]运算符的调用将导致对iLocIndexer的“getitem”方法的调用。
s1.iloc[0]
[]
iLocIndexer
其他索引器也是如此-loc、ix、at和iat。使用类方法pandas.core.generic.NDFrame.\u create\u indexer中的setattr安装这些索引器。
loc
ix
at
iat
setattr
由于@JohnE,解决方案是使用方括号
[0]
,而不是(0)
和iloc
。在翻阅了一些熊猫代码之后得到了更多的信息。
s1.iloc
使iloc
看起来像一个方法。但它是一个属性,属性的值是_iLocIndexer
。_iLocIndexer
可以用参数调用,它返回自身的一个副本,忽略任何参数或kwarg(请参阅pandas.core.indexing.\u NDFrameIndexer.在pandas代码中调用)。这就是为什么s1.iloc(0)
是一个有效的调用。使用方括号调用
s1.iloc[0]
时,将实例化_iLocIndexer
,对[]
运算符的调用将导致对iLocIndexer
的“getitem”方法的调用。其他索引器也是如此-
loc
、ix
、at
和iat
。使用类方法pandas.core.generic.NDFrame.\u create\u indexer中的setattr
安装这些索引器。相关问题 更多 >
编程相关推荐