TypeError: row indices must be integers, not str
时间: 2024-05-15 13:10:59 浏览: 200
Python BeautifulSoup [解决方法] TypeError: list indices must be integers or slices, not str
5星 · 资源好评率100%
TypeError: row indices must be integers, not str 是一个 Python 错误。这个错误通常发生在使用 Pandas 库时,当我们尝试以字符串形式引用 DataFrame 的行时。例如,假设我们有一个 DataFrame 叫做 df,我们想要选取“Name”列中值为“John”的所有行,我们可能会写出以下代码: df[‘Name’ == ‘John’]。这里的问题在于,我们使用了字符串 ‘Name’ 作为索引,而它实际上应该是一个整数位置。这就是为什么会出现错误信息 "TypeError: row indices must be integers, not str"。
解决这个问题的一种方法是使用 iloc 函数来引用 DataFrame 的行。 iloc 函数使用整数位置作为索引,而不是标签或名称。因此,我们可以用以下代码来选取“Name”列中值为“John”的所有行:
df.iloc[df.index[df[‘Name’] == ‘John’]]
阅读全文