特定の条件を満たす行のみを削除するには?
特定の条件を満たす行のみを選択して、データセット全体から削除したいと考えています。
pandasのdataframeにdfというデータがあります。
この中から、「同意しません」とある行全体をデータから削除したいと考えています。
現在のところ、
不同意のサンプルをselection1というグループにして、
dfから、該当する行全体、データから削除しようとしているのですが、この部分がうまく行きません。
もし条件の指定と、その条件に見合うデータのみを削除する方法を
ご存じでしたら、ご教示頂けますとありがたいです。
よろしくお願いします。
import pandas as pd
import numpy as np
df = pd.DataFrame(
{'x': ['同意します', '同意しません', '同意します', '同意しません',]},
index=[1, 2, 3, 4, ])
consent_dic = {"同意します":1, "同意しません":0}
df["consent"] = df.apply(lambda row: consent_dic[row["x"]], axis=1)
#不同意のサンプルを選択
selection1 = df.consent==0
#不同意のサンプルを削除 ?
df.drop(df.consent.selection1)