我正在和Pandas一起工作。我需要根据其他列的条件在数据框中创建一个新列。我试图寻找每个值在一个系列,如果它包含一个值(条件返回文本)。当值完全相同时,此方法有效,但当值只是系列
值的一部分时,此方法无效。我也尝试了str.contains,但我从未成功处理精确值的代码:
if ("something" in df2["Symptom"].values):
print("yes")
else:
print("no")
我得到一个"不"当值不相同时
IIUC:
df2 = pd.DataFrame(data={'Symptom':["I am something", 'I am not', 'Something 2']})
if df2["Symptom"].str.contains('Something').any():
print("yes")
else:
print("no")
OUTPUT: YES
如果你做了以下操作:
if df2["Symptom"].str.contains('Something').all():
print("yes")
else:
print("no")
OUTPUT: NO