【问题标题】:Pandas dataframe multiple column repetitive data熊猫数据框多列重复数据
【发布时间】:2021-09-17 09:28:57
【问题描述】:

假设我输入如下,

df = pd.DataFrame( {
   'A': [1,1,1,1,2,1,2,1,3,4,4,4],
   'B': [5,5,6,7,5,6,6,7,7,7,7,7],
   'C': [1,1,1,1,1,1,1,1,1,1,1,1]
    } );



I need expected output to be as below:
 df
        A  B  C flag
    0   1  5  1  1
    1   1  5  1  1
    2   1  6  1  0
    3   1  7  1  0
    4   2  5  1  0
    5   2  6  1  0
    6   1  6  1  0
    7   3  7  1  0
    8   3  7  3  0
    9   4  7  1  1
    10  4  7  1  1
    11  4  7  1  1

我想标记数据框是否有 >= 2 行数据是重复的。可以请在这里帮助我。我从here复制了数据

另外假设我想标记数据框是否 >= n 重复数据并且 n 可以在 2 到 10 之间变化。

【问题讨论】:

    标签: python pandas dataframe


    【解决方案1】:

    IIUC,你可以试试:

    s = df.eq(df.shift()).all(1)
    df['flag'] = (s | s.shift(-1)).astype(int)
    

    输出:

        A  B  C  flag
    0   1  5  1     1
    1   1  5  1     1
    2   1  6  1     0
    3   1  7  1     0
    4   2  5  1     0
    5   1  6  1     0
    6   2  6  1     0
    7   3  7  1     0
    8   3  7  3     0
    9   4  7  1     1
    10  4  7  1     1
    11  4  7  1     1
    

    使用的df:

    df = pd.DataFrame( {
       'A': [1,1,1,1,2,1,2,3,3,4,4,4],
       'B': [5,5,6,7,5,6,6,7,7,7,7,7],
       'C': [1,1,1,1,1,1,1,1,3,1,1,1]})
    

    【讨论】:

    • 假设我要标记如果重复大于n,代码会不会有细微的变化。 n 可以在 2 到 10 之间变化。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-11
    • 1970-01-01
    • 1970-01-01
    • 2021-10-28
    • 1970-01-01
    • 2022-11-01
    相关资源
    最近更新 更多