合并两个不同列中具有匹配值的数据框-Pandas

纳米

我有两个要合并的不同DataFramedatehours列。我看到了一些线程,但是找不到我的问题的解决方案。我也阅读了文档,并尝试了不同的组合,但是效果不佳。

我的两个不同DataFrame的示例

DF1

        date    hours        var1            var2 
0   2013-07-10  00:00:00    150.322617  52.225920   
1   2013-07-10  01:00:00    155.250917  53.365296   
2   2013-07-10  02:00:00    124.918667  51.158249   
3   2013-07-10  03:00:00    143.839217  53.138251
 .....  
9   2013-09-10  09:00:00    148.135818  86.676341
10  2013-09-10  10:00:00    147.833517  53.658016   
11  2013-09-10  12:00:00    149.580233  69.745368   
12  2013-09-10  13:00:00    163.715317  14.524894   
13  2013-09-10  14:00:00    168.856650  10.762779   

DF2

       date      hours      myvar1        myvar2 
0   2013-07-10  09:00:00    1.617         98.56 
1   2013-07-10  10:00:00    2.917         23.60 
2   2013-07-10  12:00:00    19.667        36.15 
3   2013-07-10  13:00:00    14.217        45.16
 .....  
20 2013-09-10   20:00:00    1.517         53.56 
21 2013-09-10   21:00:00    5.233         69.47
22 2013-09-10   22:00:00    13.717        14.25
23 2013-09-10   23:00:00    18.850        10.69 

正如您在两个DataFrames中都看到的那样,DF209:00:00开头DF1 09:00:00,这基本上是matchind的日期和时间。到目前为止,我使用以前的线程和上面提到的文档尝试了许多不同的组合。一个例子,

merged_df = DF2.merge(DF1, how = 'left', on = ['date', 'hours'])

这介绍NAN了正确的rightDataFrame的我知道,我不必同时使用datehours列,但是仍然得到相同的结果。R像这样快速尝试,效果很好。

merged_df  <- left_join(DF1, DF2, by = 'date')

反正有pandas合并DatFrames仅具有匹配的值而没有获取NaN值吗?

斯科特·波士顿

使用how='inner'pd.merge

merged_df = DF2.merge(DF1, how = 'inner', on = ['date', 'hours'])

这将执行“内部联接”,从而省略每个数据框中不匹配的行。因此,合并数据帧的右侧或左侧都没有NaN。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Python Pandas-如何将具有两个不同列的两个数据框合并到两个列表列

将两个 Pandas 数据框与列值合并

在Pandas中合并2个具有匹配列的数据框

Python,Pandas 数据框,合并具有相同两列值的数据框的行并聚合行中的数据

合并具有相同列和不同列的两个Pandas DataFrame

如何合并两个具有相同属性的 Pandas 数据框并覆盖相同的行?

在 Pandas 中合并具有不同数量的关键元素的两个数据帧

如何在列中的匹配值上合并两个Pandas DataFrame

Pandas:两个大小不同但值相似的数据框。当 df1 具有相似的值时,我需要来自 df2 的数据

两个 Pandas 数据框的相关矩阵,具有 P 值

Python Pandas:按索引合并两个数据框,并合并具有相同名称的列

如何基于一个公共列但内容不同来合并/扩展两个python pandas数据框?

组合来自两个不同数据帧的两列以删除 Pandas 中的缺失值

如何在将两个列中的公共列值匹配的同时将列从pandas数据框复制到另一个?

根据列中的值匹配两个 Pandas DataFrame

在Pandas / Python中合并两个数据框,使所有列均不包含数据框1

在Pandas / Python中合并具有不同列长的数据

将两个值从特定列中的数组插入到 Pandas 数据框中

如何将具有两个索引列和一个值列的 pandas 数据框转换为热图?

比较Pandas中的两个Excel文件,并在两个列中返回具有相同值的行

在pandas数据框中添加具有匹配值的新列

Python Pandas:通过ID或行比较具有不同列名称的两个数据框的值

如何将两个不同长度的列表合并为Pandas数据框?

Python Pandas:如何根据日期组合或合并两个不同大小的数据框

使用python或pandasql附加两个具有不同形状的pandas数据框并在for循环中

来自pandas数据框的两个图,在同一图上具有不同的垂直轴

将函数应用于带有两个参数的pandas数据框中的列

Pandas DataFrame:在两个特定的列中获取具有相同值对的行

如何一次将两列与 python (pandas) 中的两个不同数据框进行比较?