ค้นหาชื่อเรือที่ควบคุมโดยทั้งกัปตันที่มียศ Midshipman และกัปตันที่มียศร้อยโท
Find the name of the ships that are steered by both a captain with Midshipman rank and a captain with Lieutenant rank.
ship_df = pd.DataFrame(columns=['name', 'ship_id']); captain_df = pd.DataFrame(columns=['ship_id', 'rank'])
ship_df[ship_df['ship_id'].isin(captain_df[captain_df['rank']=='Midshipman']['ship_id']) & ship_df['ship_id'].isin(captain_df[captain_df['rank']=='Lieutenant']['ship_id'])]['name'].tolist()