Des*_*key 3 python logic pandas
如果行符合列表(eligibility_criteria)条件,我想从数据框中排除行,除非价目表列以“ ***”开头。这就是我所拥有的:
import pandas as pd
df = df[~df['eligibility'].str.contains(eligibility_criteria, na=False)] #This works
Run Code Online (Sandbox Code Playgroud)
如何添加此“ except when”限定词...
#df['tariff'].str.startswith("***")
Run Code Online (Sandbox Code Playgroud)
让E有资格标准,S如果关税开头是真实的"***"。您要排除E unless S与相同的行E & ~S。相反,您要保留不具有此属性的行:~(E & ~S),与以下属性相同~E | S:
df = df[~df['eligibility'].str.contains(eligibility_criteria, na=False) |
df['tariff'].str.startswith("***")]
Run Code Online (Sandbox Code Playgroud)