首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >组合2个不等长日期熊猫

组合2个不等长日期熊猫
EN

Stack Overflow用户
提问于 2021-06-11 11:51:24
回答 1查看 20关注 0票数 0

我有两只长度不等的熊猫,我试图根据它们匹配的时间、月份、年份和plant_name来组合它们。我不确定merge/concat/join是最有效的还是使用了更少的内存,因为我的实际数据集非常大,而且我得到了意想不到的结果,如下面所示。例如,对于dataframe 1(Df1),我的数据如下所示:

代码语言:javascript
复制
    plant_name business_name maint_region_name wind_speed_ms dataset  year  month  day  hour
0    CAETITE I        BRAZIL            BRAZIL          7.88    ERA5  2021      5   31    21
1    CAETITE I        BRAZIL            BRAZIL          7.95    ERA5  2021      5   31    20
2  RIO DO FOGO        BRAZIL            BRAZIL          7.72    ERA5  2021      1   31    19
3  RIO DO FOGO        BRAZIL            BRAZIL          7.68    ERA5  2021      1   31    18
4    CAETITE I        BRAZIL            BRAZIL          7.41    ERA5  2021      1   31    17
5    CAETITE I        BRAZIL            BRAZIL          7.32    ERA5  2021      1   31    16

并且,dataframe 2或df2:

代码语言:javascript
复制
  plant_name       vel  year  month  day  hour  
0  CAETITE I       NaN  2021      1   31    19
1  CAETITE I       NaN  2021      1   31    18
2  CAETITE I      5.42  2021      1   31    17
3  CAETITE I       NaN  2021      1   31    16

最后的df或df_combined应该如下所示:

代码语言:javascript
复制
    plant_name business_name maint_region_name wind_speed_ms dataset year month day hour  vel
0    CAETITE I        BRAZIL            BRAZIL          7.41    ERA5 2021     1  31   17 5.42
1    CAETITE I        BRAZIL            BRAZIL          7.32    ERA5 2021     1  31   16  NaN

我在下面尝试过许多类似的事情,但是每次尝试都会导致"df3“在实际数据中有相当多的行和列,比我预期的要多,所以我肯定做错了下面的方法:

代码语言:javascript
复制
df3 = df2.merge(df1[["plant_name","year","month","day","hour","wind_speed_ms"]], on=["plant_name"], how="left")

谢谢您抽时间见我。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-11 12:15:45

你要找的是一个内部连接。此外,还需要将年份、月份、日期和小时添加到连接键中。以下是正确的答案:

代码语言:javascript
复制
df1.merge(df2, on=["plant_name", "year", "month", "day", "hour"], how="inner")
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67936532

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档