簡體   English   中英

合並唯一值的數據框

[英]Merging Data Frames on Unique Values

我有 2 個數據框。 一個是一個通用的“模板”,其中有一列日期,從現在到 4 天,每小時都會發生一次。 另一個DF里面有數據,比如緯度和經度,它也有一個日期列,但數據只有每3小時一次。 我需要組合兩個數據幀,以便 df2 中的每個緯度/經度對每小時都有一個來自 df1 的數據。

DF1                                DF2 
Date                 Shift         Latitude  Longitude   Date                 Temp
2021-10-18 01:00:00  a1            39.9      -99.3       2021-10-18 18:00:00  34
2021-10-18 02:00:00  a2            39.9      -99.3       2021-10-18 21:00:00  36
.....                              .............
2021-10-18 21:00:00  b2            39.9      -99.3       2021-10-19 00:00:00  32

預期的最終數據幀

Latitude Longitude Date                 Shift           Temp
39.9     -99.3     2021-10-18 01:00:00  a1              NaN
39.9     -99.3     2021-10-18 02:00:00  a1              NaN
.....
39.9     -99.3     2021-10-18 17:00:00  b2              NaN
39.9     -99.3     2021-10-18 18:00:00  b2              34
39.9     -99.3     2021-10-18 19:00:00  b2              NaN

在 DF2 中,有 3,088 對獨特的緯度/經度對,每個獨特的對都必須有一個 4 天的日期列,按小時計算。 我的最終 DF 中應該有 299,536 行。

將合並與如何和開啟選項一起使用。 來自熊貓文檔

df1 = pd.DataFrame({'a': ['foo', 'bar'], 'b': [1, 2]})
df2 = pd.DataFrame({'a': ['foo', 'baz'], 'c': [3, 4]})
df1.merge(df2, how='inner', on='a')

會給你:

      a  b  c
0   foo  1  3

使用時:

df1.merge(df2, how='left', on='a')

會給你:

      a  b  c
0   foo  1  3.0
1   bar  2  NaN

暫無
暫無

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

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