如何合并具有不同时间范围的两个数据集?
how to merge Two datasets with different time ranges?
我有两个如下所示的数据集:
df1
:
Date
City
State
Quantity
2019-01
Chicago
IL
35
2019-01
Orlando
FL
322
...
....
...
...
2021-07
Chicago
IL
334
2021-07
Orlando
FL
4332
df2
:
Date
City
State
Sales
2020-03
Chicago
IL
30
2020-03
Orlando
FL
319
...
...
...
...
2021-07
Chicago
IL
331
2021-07
Orlando
FL
4000
我的 date
两个数据集的格式都是 period[M]
。我已经尝试使用 df1.join(df2,how='outer')
和 (df2.join(df1,how='outer')
命令,但它们没有正确加起来,基本上,在 2019-01
中,我有 2020-03
的销售额。我怎样才能加入这两个数据集,使我的输出如下:
我无法使用 merge()
,因为我必须合并 City
和 State
以及 Date
Date
City
State
Quantity
Sales
2019-01
Chicago
IL
35
NaN
2019-01
Orlando
FL
322
NaN
...
...
...
...
...
2021-07
Chicago
IL
334
331
2021-07
Orlando
FL
4332
4000
你可以outer-merge
。通过不指定要合并的列,您可以合并两个 DataFrame 中列的交集(在本例中,Date
、City
和 State
)。
out = df1.merge(df2, how='outer').sort_values(by='Date')
输出:
Date City State Quantity Sales
0 2019-01 Chicago IL 35.0 NaN
1 2019-01 Orlando FL 322.0 NaN
4 2020-03 Chicago IL NaN 30.0
5 2020-03 Orlando FL NaN 319.0
2 2021-07 Chicago IL 334.0 331.0
3 2021-07 Orlando FL 4332.0 4000.0
我有两个如下所示的数据集:
df1
:
Date | City | State | Quantity |
---|---|---|---|
2019-01 | Chicago | IL | 35 |
2019-01 | Orlando | FL | 322 |
... | .... | ... | ... |
2021-07 | Chicago | IL | 334 |
2021-07 | Orlando | FL | 4332 |
df2
:
Date | City | State | Sales |
---|---|---|---|
2020-03 | Chicago | IL | 30 |
2020-03 | Orlando | FL | 319 |
... | ... | ... | ... |
2021-07 | Chicago | IL | 331 |
2021-07 | Orlando | FL | 4000 |
我的 date
两个数据集的格式都是 period[M]
。我已经尝试使用 df1.join(df2,how='outer')
和 (df2.join(df1,how='outer')
命令,但它们没有正确加起来,基本上,在 2019-01
中,我有 2020-03
的销售额。我怎样才能加入这两个数据集,使我的输出如下:
我无法使用 merge()
,因为我必须合并 City
和 State
以及 Date
Date | City | State | Quantity | Sales |
---|---|---|---|---|
2019-01 | Chicago | IL | 35 | NaN |
2019-01 | Orlando | FL | 322 | NaN |
... | ... | ... | ... | ... |
2021-07 | Chicago | IL | 334 | 331 |
2021-07 | Orlando | FL | 4332 | 4000 |
你可以outer-merge
。通过不指定要合并的列,您可以合并两个 DataFrame 中列的交集(在本例中,Date
、City
和 State
)。
out = df1.merge(df2, how='outer').sort_values(by='Date')
输出:
Date City State Quantity Sales
0 2019-01 Chicago IL 35.0 NaN
1 2019-01 Orlando FL 322.0 NaN
4 2020-03 Chicago IL NaN 30.0
5 2020-03 Orlando FL NaN 319.0
2 2021-07 Chicago IL 334.0 331.0
3 2021-07 Orlando FL 4332.0 4000.0