gpt4 book ai didi

python - loc 和 iloc 的类型是什么? (括号与圆括号)

转载 作者:太空狗 更新时间:2023-10-29 22:21:02 25 4
gpt4 key购买 nike

我来自 C++ 背景,最近开始学习 python。我正在研究索引和选择数据。我在 Pandas 库的 SeriesDataFramePanel 类中遇到了 .iloc[]。我不明白什么是 .iloc?它是功能还是属性?很多时候我错误地使用 () 而不是 [] 并且没有得到实际结果(但它不会抛出错误)。

例子:

In [43]: s = pd.Series(np.arange(5), index=np.arange(5)[::-1], dtype='int64')

In [44]: s[s.index.isin([2, 4, 6])]
Out[44]:
4 0
2 2
dtype: int64

In [45]: s.iloc(s.index.isin([2,4,6]))
Out[45]: <pandas.core.indexing._iLocIndexer at 0x7f1e68d53978>

In [46]: s.iloc[s.index.isin([2,4,6])]
Out[46]:
4 0
2 2
dtype: int64

任何人都可以告诉我引用哪里可以研究更多关于此类运算符的信息。

最佳答案

实际答案:您应该将 ilocloc 分别视为 python 列表和字典的 pandas 扩展,并将它们视为查找而不是函数或方法调用。因此,与 python 语法保持一致,始终使用 [] 而不是 ()

>>> ser = pd.Series( { 'a':3, 'c':9 } )

>>> ser.loc['a'] # pandas dictionary syntax (label-based)
3
>>> ser.iloc[0] # pandas list/array syntax (location-based)
3

数据帧基本相同,只是多了一个维度来指定,这也是 ilocloc 变得更有用的地方,但这超出了范围这个问题。

更深层的答案:如果您真的想更深入地理解这一点,您需要理解 __getitem__。你也许可以开始 here一些基础知识。 second link中的答案@ayhan 在上面的评论中提供的内容也非常好,并且与您的问题非常相关。

关于python - loc 和 iloc 的类型是什么? (括号与圆括号),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44674472/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com