ค้นหาชื่อและอายุของนักเรียนที่มีสุนัขแต่ไม่มีแมวเป็นสัตว์เลี้ยง
Find the first name and age of students who have a dog but do not have a cat as a pet.
df_has_pet = pd.DataFrame(columns=['stuid', 'petid']); df_student = pd.DataFrame(columns=['fname', 'age', 'stuid']); df_pets = pd.DataFrame(columns=['petid', 'pettype'])
df_students_with_dogs = df_has_pet.merge(df_pets[df_pets['pettype'] == 'dog'], on='petid').merge(df_student, on='stuid'); df_students_with_cats = df_has_pet.merge(df_pets[df_pets['pettype'] == 'cat'], on='petid')['stuid']; df_students_with_dogs[~df_students_with_dogs['stuid'].isin(df_students_with_cats)][['fname', 'age']]