Pandas,如何重新索引通过附加多个数据帧生成的数据帧.

J_y*_*ang 1 python dataframe pandas

我有一个数据帧,它是通过将多个数据帧附加到一个长列表中生成的.如图所示,默认索引是0到7之间的循环,因为每个原始df都有这个索引.总行数为240.那么如何将新的df重新索引为0~239而不是30 x 0~7.

我试过了df.reset_index(drop=True),但似乎没有用.我也尝试过:df.reindex(np.arange(240))但是它返回了错误

ValueError: cannot reindex from a duplicate axis
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

jez*_*ael 5

您似乎忘记了分配输出,因为默认情况下reset_index不起作用inplace:

df = df.reset_index(drop=True)
Run Code Online (Sandbox Code Playgroud)

要么:

df.reset_index(drop=True, inplace=True)
Run Code Online (Sandbox Code Playgroud)

但更好的解决方案是(如果使用concat)添加参数ignore_index=True:

df = pd.concat([df1, df2, ..., df7], ignore_index=True)
Run Code Online (Sandbox Code Playgroud)