Python 合并日期上具有不同值的多个数据帧

Python 合并日期上具有不同值的多个数据帧,python,pandas,Python,Pandas,我有4个数据帧:jpn,swe,svk,aut,其中每个数据帧都有两列year和~\u co2以及一些我不关心的索引 >>>瑞典人 年份swe_co2 20105 1834 0.033 20106 1839 0.044 >>>svk 年份svk_co2 15247 1840 0.013 15248 1841 0.023 每个数据帧都有这样的结构,但并非每个值的year列都在同一年开始 我想加入这个dataframes来创建一个像这样的新datafram

我有4个数据帧:
jpn
swe
svk
aut
,其中每个数据帧都有两列
year
~\u co2
以及一些我不关心的索引


>>>瑞典人
年份swe_co2
20105   1834    0.033
20106   1839    0.044
>>>svk
年份svk_co2
15247   1840    0.013
15248   1841    0.023
每个数据帧都有这样的结构,但并非每个值的
year
列都在同一年开始

我想加入这个dataframes来创建一个像这样的新dataframe


>>>合并
年份swe_co2 svk_co2
1 1834 0.033无
2 1839 0.044无
3       1840    0.047      0.013
41841无0.023

您可以使用
pd.concat

pd.concat([swe, svk], ignore_index=True)

    year    swe_co2 svk_co2
0   1834    0.033   NaN
1   1839    0.044   NaN
2   1840    NaN     0.013
3   1841    NaN     0.023

如果您有两个以上的数据帧,只需将它们附加到该列表中即可

pd.concat([swe, svk], ignore_index=True)

    year    swe_co2 svk_co2
0   1834    0.033   NaN
1   1839    0.044   NaN
2   1840    NaN     0.013
3   1841    NaN     0.023
df_list=[jpn,svk,aut]
如果您有两个以上的数据帧,只需将它们附加到该列表中
[swe,svk,df3,df4,…]

df_list=[jpn,svk,aut]
通过
concat()
merge()

注意:我认为单独使用
concat()
就可以获得所需的输出,但如果没有获得,请尝试使用
concat()
merge()

通过
concat()
merge()


注意:我认为仅
concat()
就可以为您提供所需的输出,但如果您没有获得,请尝试使用
concat()
merge()

另外,我想问一下:这种方法在
列中创建了重复项,比如每
df
创建4次
2019
,有没有办法把它合并成一个?你能举一个输入和期望输出的例子吗?您希望如何合并这些重复项?看起来像是2019年的4行,其中四个新列中的每一列在2019年的其中一列中都有一个值,其他列为NaN,我希望将这个4x
2019
合并到一行中,而不包含NaN值。因此,我想问:此方法在
列中创建了重复项,对于每个
df
,如4次
2019
,是否有方法将其合并为一个?能否给出输入和所需输出的示例?您希望如何合并这些重复项?它看起来像是2019年的4行,其中四个新列中的每一列在2019年的其中一列中都有一个值,其他列为NaN,我希望将这个4x
2019
合并到一行中,而不包含NaN值