มีฟังก์ชันใดบ้างที่จะเทียบเท่ากับการรวมกันของdf.isin()
และdf[col].str.contains()
?
ตัวอย่างเช่นพูดว่าฉันมีซีรีส์
s = pd.Series(['cat','hat','dog','fog','pet'])
และฉันต้องการค้นหาสถานที่ทั้งหมดที่s
มีทั้งหมด['og', 'at']
ฉันอยากได้ทุกอย่างยกเว้น 'สัตว์เลี้ยง'
ฉันมีวิธีแก้ปัญหา แต่มันค่อนข้างไม่ดี:
searchfor = ['og', 'at']
found = [s.str.contains(x) for x in searchfor]
result = pd.DataFrame[found]
result.any()
มีวิธีที่ดีกว่านี้หรือไม่?
pd.Series.str.contains
ซึ่งมีประสิทธิภาพมากกว่าการใช้ หากประสิทธิภาพเป็นปัญหาอาจเป็นเรื่องที่ควรค่าแก่การตรวจสอบ