Python 对于时间序列中的固定格式错误,列索引必须是唯一的

Python 对于时间序列中的固定格式错误,列索引必须是唯一的,python,pandas,time-series,hdf,Python,Pandas,Time Series,Hdf,我得到了ValueError:当我试图保存通过组合多个时间序列数据帧而形成的数据帧时,对于固定格式,列索引必须是唯一的。这是我所做工作的样本 df1=pd.concat([d1,d2,d3,d4],axis=1] df2=pd.DataFrame(d5) df3=pd.concat([d6,d7,d8],axis=1] main_df=pd.concat([df1,df2,df3],axis=1) main_df=main_df.dropna() main_df.head() 在此之前,它工

我得到了
ValueError:当我试图保存通过组合多个时间序列数据帧而形成的数据帧时,对于固定格式
,列索引必须是唯一的。这是我所做工作的样本

df1=pd.concat([d1,d2,d3,d4],axis=1]
df2=pd.DataFrame(d5)
df3=pd.concat([d6,d7,d8],axis=1]

main_df=pd.concat([df1,df2,df3],axis=1)
main_df=main_df.dropna()
main_df.head()
在此之前,它工作正常,但当我试图将这些数据保存到HDF5文件中时,它给我的错误
列索引对于固定格式必须是唯一的

fi=pd.read_hdf("data.h5")
fi['df']=main_df #this line cause the error
如有必要,可用于计数重复的
0
,并将其添加到原始列名称中:

df = pd.DataFrame([[1,2,3,4]], columns = list('abbc'))
print (df)
   a  b  b  c
0  1  2  3  4

s = df.columns.to_series()
df.columns = s + s.groupby(s).cumcount().astype(str).replace({'0':''})
print (df)
   a  b  b1  c
0  1  2   3  4

是否需要重复的列名称?最简单的解决方案是重命名重复的列名。是的,我有一些同名的列。重命名所有重复列的最佳方法是什么。我有一个非常大的数据集>30列