簡體   English   中英

如何合並兩個不同時間范圍的數據集?

[英]how to merge Two datasets with different time ranges?

我有兩個如下所示的數據集:

df1

日期 城市 狀態 數量
2019-01 芝加哥 伊利諾伊州 35
2019-01 奧蘭多 佛羅里達州 322
... …… ... ...
2021-07 芝加哥 伊利諾伊州 334
2021-07 奧蘭多 佛羅里達州 4332

df2

日期 城市 狀態 銷售量
2020-03 芝加哥 伊利諾伊州 30
2020-03 奧蘭多 佛羅里達州 319
... ... ... ...
2021-07 芝加哥 伊利諾伊州 331
2021-07 奧蘭多 佛羅里達州 4000

我的date在兩個數據集的格式period[M]中。 我曾嘗試使用df1.join(df2,how='outer')(df2.join(df1,how='outer')命令,但它們沒有正確加起來,基本上,在2019-01中,我有sales for 2020-03 . 我怎樣才能加入這兩個數據集,這樣我的輸出如下:

我無法使用merge()因為我必須與CityState以及Date的組合合並

日期 城市 狀態 數量 銷售量
2019-01 芝加哥 伊利諾伊州 35
2019-01 奧蘭多 佛羅里達州 322
... ... ... ... ...
2021-07 芝加哥 伊利諾伊州 334 331
2021-07 奧蘭多 佛羅里達州 4332 4000

您可以outer-merge 通過不指定要合並的列,您可以合並兩個 DataFrame 中列的交集(在本例中為DateCityState )。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM