Pandas:如何与伊洛辛德弗尔合作?

2024-03-29 08:11:34 发布

您现在位置:Python中文网/ 问答频道 /正文

>>> 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对象。我能拿这个东西做什么?我该怎么处理?


Tags: coreimportpandasindexobjectversionaslist
1条回答
网友
1楼 · 发布于 2024-03-29 08:11:34

由于@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”方法的调用。

其他索引器也是如此-locixatiat。使用类方法pandas.core.generic.NDFrame.\u create\u indexer中的setattr安装这些索引器。

相关问题 更多 >