【问题标题】:Find Pandas Rows Not Matching Hours and Delete Unmatched Rows查找不匹配时间的 Pandas 行并删除不匹配的行
【发布时间】:2021-07-04 21:54:10
【问题描述】:

我正在尝试根据一只熊猫的日期行对齐两只熊猫的行,然后删除/删除不匹配的行。例如,我的数据在 df1 中是这样的:

     Site    Data    hour    day    month    year
0    site1   5.4     1       1      1        2020
1    site1   4.6     2       1      1        2020
2    site1   3.7     4       1      1        2020

还有,df2中的数据:

     Site    Data    hour    day    month    year
0    site1   4.9     1       1      1        2020
1    site1   4.1     2       1      1        2020
2    site1   6.2     3       1      1        2020
3    site1   5.1     4       1      1        2020

我可能需要在“小时”列上应用索引,并且我尝试使用布尔索引来识别“小时”中的日期不匹配的位置,但我不知道如何在 df2 中删除该行,以便之后删除行,df2 在 reset_index() 之后看起来像这样。我的目标是在行下降后使 df1 的长度 = df2 的长度。我需要 df2 看起来像这样:

     Site    Data    hour    day    month    year
0    site1   4.9     1       1      1        2020
1    site1   4.1     2       1      1        2020
2    site1   5.1     4       1      1        2020

谢谢,

【问题讨论】:

    标签: pandas indexing drop


    【解决方案1】:

    使用.isin()

    df2[df2['hour'].isin(df1['hour'])]
    
    
    
     Site  Data  hour  day  month  year
    0  site1   4.9     1    1      1  2020
    1  site1   4.1     2    1      1  2020
    3  site1   5.1     4    1      1  2020
    

    【讨论】:

      猜你喜欢
      • 2013-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-11
      • 2018-09-13
      相关资源
      最近更新 更多