簡體   English   中英

如何根據條件將來自兩個單獨列的數據連接到另一個 dataframe?

[英]How to join data from two seperate columns based upon condition to another dataframe?

如果日期大於 2015 年 1 月 1 日,我想從 df2 添加數據,如果日期小於 2015 年 1 月 1 日,我想從 df1 添加數據。 不確定如何執行此操作,因為列的長度不同。

我有一個主 DF df1,以及兩個包含名為 df2 和 df3 的數據的數據幀。

df2 看起來像這樣:

day                 Value
01/01/2015           5
02/01/2015           6
...

一直到今天,

我也有 DF3,它是相同的數據,但從 2000 年到今天,就像

day                 Value
01/01/2000           10
02/01/2000           15
...

我想 append 到 DF1 的值列,即日期小於 2015 年時 DF3 的值,以及日期超過 2015 年 1 月 1 日(包括)時的 DF2 值。 不確定如何使用條件執行此操作。 我認為 np.where 有一種方法,但不確定如何。

添加更多上下文。

我想編纂這個聲明:

df1[values] = DF2[Values] 當日期大於 1/1/2015 和 df1[values] = DF3[Values] 當日期小於 1/1/2015

如果要加入2 dataframe,可以使用df1.mrege(df2,on="col_name")。 如果您想要一個 dataframe 的條件並與另一個加入,

像這樣做,

import pandas as pd
#generating 2 dataframes
date1 = pd.date_range(start='1/01/2015', end='2/02/2015')
val1 = [2,3,5]*11. #length equal to date
dict1 = {"Date":date2,"Value":val1}
df1 = pd.DataFrame(dict1)
df1. #view df1
date2 = pd.date_range(start='1/01/2000', end='2/02/2020')
val2 = [21,15]*3669. #length equal to date
dict2 = {"Date":date2,"Value":val2}
df2 = pd.DataFrame(dict2)
df2. #view df1
df3 =df1[df1["Date"]<"2015-02-01"] #whatever condition you want apply
and store on different dataframe
df2.merge(df3,on="Date")
df2 #joined dataframe

這就是您如何在有條件的日期加入 2 個 dataframe,只需應用條件並存儲另一個 dataframe 並將其與第一個 Z6A8064B5DF479455500="53C47C5507DZ" 加入。

暫無
暫無

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

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