実現したいこと
Pandasを利用して
CODEに値が無いものは重複対象とせず、値がある場合のみ重複データの削除を行いたいです。
TITLE | CODE |
---|---|
すいか | AAA |
すいか | AAA |
みかん | |
ぶどう | |
ぶどう | BBB |
↓
TITLE1 | CODE |
---|---|
すいか | AAA |
みかん | |
ぶどう | |
ぶどう | BBB |
CODEが重複しているAAAはの1つは削除
みかんとぶどうはCODEが無いので削除対象しない。
(BBBは重複していないので対象外)
該当のソースコード
import pandas as pd df = pd.DataFrame({'TITLE':['すいか','すいか','みかん','ぶどう','ぶどう'],'CODE':['AAA','AAA',"","",'BBB']}) df[~df.duplicated(subset='CODE')]
試したこと
上記ソースでは空白が対象となってしまい。
削除対象になっています。
df[df[~df["CODE"].isnull()].duplicated(subset='CODE')]
とかやってみましたが、うまく動作できませんでした。
上記のサンプルソースは空白を入れていますが、
実際のデータはxlsxファイルから読み取っており、
空白部分はNaNになっているようです。
(サンプルソースではNaNが設定ができなくて空白にしています)
初歩的な質問ですいませんが、回答頂けると助かります。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/08/19 23:57