パンダドロップ重複条件

ボブ :

私はしたいと思いますdf.drop_duplicates()オフベースのサブセットが、また、カラムが特定の値を持っている場合は無視します。

例えば...

                 v1      v2     v3      
ID                                                          
148         8751704.0    G      dog   
123         9082007.0    G      dog  
123         9082007.0    G      dog 
123         9082007.0    G      cat   

私は重複してドロップしたい[ID, v1]が、場合無視v3等しいとcat、このような何かそう。

full_df.drop_duplicates([ID, v1], inplace=True, conditional=exclude v3 = cat)

理にかなっている希望

ansev:

使用boolean indexingしてSeries.duplicatedpd.Index.duplicated

df[~(df['v1'].duplicated() & df.index.duplicated()) | df['v3'].eq('cat')]

出力

            v1 v2   v3
ID                    
148  8751704.0  G  dog
123  9082007.0  G  dog
123  9082007.0  G  cat

もしIDない指標です。

df[~df[['ID', 'v1']].duplicated() | df['v3'].eq('cat')]

おすすめ

転載: http://10.200.1.11:23101/article/api/json?id=402374&siteId=1