代码之家  ›  专栏  ›  技术社区  ›  dekt

在pandas中搜索从dataframe1到dataframe2的值

  •  -1
  • dekt  · 技术社区  · 5 年前

    假设我有一个源数据帧:

    A B C
    a 1 string1
    b 1 string1
    b 4 string2
    c 2 string4
    d 2 string2
    

    我有我的输入数据帧

    A B C
    a null string1
    b null string2
    

    我如何能够交叉检查输入数据帧到源的值我想在 源数据帧 这有我的价值观 . 我试过isin,但它返回的数据帧 价值观

    结果是df:

    A B C
    a 1 string1 #Ref to a null string1
    b 1 string1 #Ref to b null string2
    b 4 string2 #Ref to b null string2
    d 2 string2 #Ref to b null string2
    
    1 回复  |  直到 5 年前
        1
  •  0
  •   Joe Patten    5 年前

    看起来您正在筛选源数据框,只保留在输入数据框C列中的C列中有值的行 input_df['C'].unique() 在输入df的C列中给您一个唯一值数组,您可以使用 isin 过滤源数据:

    source_df[source_df['C'].isin(input_df['C'].unique())]
    

    其输出为:

        A   B   C
    0   a   1   string1
    1   b   1   string1
    2   b   4   string2
    4   d   2   string2