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)
您似乎忘记了分配输出,因为默认情况下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)