索引中的熊猫数字是字符串/对象

时间:2020-07-17 12:13:54

标签: python pandas valueerror

运行

for index, row in df.iterrows():
    print(df.iloc[index,0])

产生以下错误:

ValueError:基于位置的索引只能具有[整数,整数 切片(起始点为INCLUDED,结束点为EXCLUDED),列表为 整数,布尔数组]类型

索引为0

index
Out[57]: '0'

但是以某种方式,我的索引由我可以通过确认的字符串组成

type(index)
Out[63]: str

尽管我已申请df.reset_index()

如何确保df(df.index)的索引由整数组成?

编辑:

df.index
Out[69]: 
Index(['0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
       ...
       '14829', '14830', '14831', '14832', '14833', '14834', '14835', '14836',
       '14837', '14838'],
      dtype='object', length=14839)

2 个答案:

答案 0 :(得分:2)

In [85]: df.index
Out[85]: Index(['0', '1', '2', '3', '4', '5', '6'], dtype='object')

In [86]: df.index = df.index.astype(int)

In [87]: df.index
Out[87]: Int64Index([0, 1, 2, 3, 4, 5, 6], dtype='int64')

使用astype

答案 1 :(得分:0)

index的结果为'0',表示它是一个字符串。您可以使用int()函数轻松地将其设为整数。

根据您的情况,int(index)将解决问题。