gpt4 book ai didi

Python 类型错误 : cannot do positional indexing on

转载 作者:行者123 更新时间:2023-12-04 14:22:22 27 4
gpt4 key购买 nike

如果这是一个基本问题,我深表歉意,但我在尝试访问 pandas 数据帧中的值时遇到了类型错误。

错误是:

TypeError: cannot do positional indexing on < class 'pandas.core.indexes.numeric.Int64Index'> with these indexers [1] of < type 'sage.rings.integer.Integer'>

代码是:

import pandas as pd
df = pd.DataFrame({ 'A' : 1.,
'B' : pd.Timestamp('20130102'),
'C' : pd.Series(1,index=list(range(4)),dtype='float32')})
print df.iloc[1]

很可能我只是不明白如何正确使用 iloc;有人可以帮忙吗?

最佳答案

正如错误消息所指出的,您没有将标准 Python 整数与 iloc 一起使用,而是来自 Sage 的内容.所以 pandas 不会将其识别为 Python 整数。

所以如果你做了类似的事情

si = sage.all.Integer(1)  # or loading a sage script
# ... some lines of pandas
df.iloc[si] # won't work
df.iloc[int(si)] # casts from a Sage type to a Python type.

如果您将它作为 .sage 脚本而不是 Python 脚本运行,则在 r 后缀以防止它被转换为 Sage 类型:

df.iloc[1r]

参见 this answer from the sagemath forums了解更多详情。

关于Python 类型错误 : cannot do positional indexing on <class 'pandas.core.indexes.numeric.Int64Index' >,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52845329/

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