Pythonのデータフレーム - 最初に出現した以外の日に重複TRUEを削除します

クリス・ノリス:

私は、データフレームの列のカップルを持っています。私はすべての重複TRUESは、その日の最初のTRUEを除き、falseに変更されている3番目の列を作成しようとしています。

ここでは、画像の説明を入力します。

私は.duplicatedで遊んでみましたが、仕事にそれを得ることができませんでした。私は、あきらめ、非効率的な、遅い、ループに移動しました。

    for i in range(0, len(DF)): #From row 0 to last row in data frame, iterate through i
    j = DF.columns.get_loc('Desired Column') #column

    if DF.iat[i, j] == 'TRUE' and DF.iat[i - 1, j] == 'TRUE':  
        DF.at[i, 'Desired Column'] = FALSE

これは、すべての作業もしませんでしたさ - 何も変更していないようでした。

Date,True_False
1/01/2019,FALSE
1/01/2019,FALSE
1/01/2019,TRUE
1/01/2019,TRUE
1/01/2019,FALSE
1/01/2019,FALSE
1/01/2019,FALSE
1/01/2019,FALSE
2/01/2019,FALSE
2/01/2019,FALSE
2/01/2019,TRUE
2/01/2019,FALSE
2/01/2019,FALSE
2/01/2019,FALSE
2/01/2019,FALSE
2/01/2019,FALSE
3/01/2019,FALSE
3/01/2019,FALSE
3/01/2019,TRUE
3/01/2019,TRUE
3/01/2019,TRUE
3/01/2019,TRUE
3/01/2019,FALSE
3/01/2019,FALSE
ALollz:

あなたはできたcumsum日付やメイク、すべて内> 1はFalse。

df['Desired'] = np.where(df.groupby('Date')['True_False'].cumsum() <= 1, df['True_False'], False)

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=12974&siteId=1