繁体   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