我有一个包含大量行的数据框
0 val1
1 val2
2 val3
3 val3
4 val4
5 nan
6 nan
7 val7
我放弃了剩下的na值:
0 val1
1 val2
2 val3
3 val3
4 val4
7 val7
然而,现在如果我迭代这样做:
for i in range(df.shape[0]):
row = df.at[1, 'colname']
我收到索引错误。我需要重新索引它,因此它变得像:
0 val1
1 val2
2 val3
3 val3
4 val4
5 val7
这样做的最佳方式是什么?
由于
答案 0 :(得分:2)
答案取决于您是否需要保留旧索引。如果不想要保留它,请使用评论中提供的解决方案之一(例如df.reset_index(drop=True, inplace=True)
)和原始代码。
如果要保留旧索引,则必须正确使用它:
for i in df.index:
row = df.loc[i, 'colname']