Python 将多个数据帧合并在一起

Python 将多个数据帧合并在一起,python,pandas,csv,Python,Pandas,Csv,我有多个(n)数据帧,行长可变,每个数据帧有3列。我只需要每个数据帧的第一列,所以我使用df.drop删除了其他列。 我想将它们合并到一个包含n列的数据帧中。 我用pd.concat合并 df1.drop(columns=['col2' ,'col3']).to_csv('df1.csv', sep=';') df2.drop(columns=['col2', 'col3']).to_csv('df2.csv', sep=';') pd.concat([pd.concat([

我有多个(n)数据帧,行长可变,每个数据帧有3列。我只需要每个数据帧的第一列,所以我使用df.drop删除了其他列。
我想将它们合并到一个包含n列的数据帧中。 我用pd.concat合并

    df1.drop(columns=['col2' ,'col3']).to_csv('df1.csv', sep=';')

    df2.drop(columns=['col2', 'col3']).to_csv('df2.csv', sep=';')

pd.concat([pd.concat([df1.drop(columns=['col2','col3']),
                      df2.drop(columns=['col2','col3'])] ,axis=1)])\
                        .to_csv('merged.csv', sep=';')
它将以下输出作为csv文件提供:

    col1 (df1)  col1 (df1)
0   0.0 
1   0.055   
2   0.096   
3   0.131   
2074        70.997
2075        71.002
2076        71.065
2077        71.101
因此,您可以看到它只是将列添加为行。例如,第3行在第2列中为空。第1列2074行为空。 我以为axis=1可以解决这个问题,但它没有

预期产出:

col1 (df1)        col1 (df1)
0   0.0             70.997
1   0.055           71.002
2   0.096           71.065
3   0.131           71.101

如果我尝试
axis=1,ignoreIndex=True
我的列名将更改为0和1

在由和参数创建的数据帧中需要相同的索引值
重置索引(drop=True)


将df2的索引更改为与df1相同

df2.index=df1.index
df1['col1(df2)']=df2.col1
df1.rename(columns={'col1':'col1(df1)'})
Out[7]: 
   col1(df1)  col1(df2)
0      0.000     70.997
1      0.055     71.002
2      0.096     71.065
3      0.130     71.101
df2.index=df1.index
df1['col1(df2)']=df2.col1
df1.rename(columns={'col1':'col1(df1)'})
Out[7]: 
   col1(df1)  col1(df2)
0      0.000     70.997
1      0.055     71.002
2      0.096     71.065
3      0.130     71.101