![](/img/trans.png)
[英]Pandas: how to make a join based on a condition between two columns of 2 seperate dataframes
[英]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.