我想检查数据集中是否出现字符串数组,并打印字符串数组元素出现的那些行。
rareTitles = {"Capt", "Col", "Countess", "Don", "Dr", "Jonkheer", "Lady",
"Major", "Mlle", "Mme", "Ms", "Rev", "Sir"}
dataset[rareTitles in (dataset['Title'])]
我收到以下错误:
TypeError:不可用类型:'set'
答案 0 :(得分:0)
首先,我认为比较应该反过来 - 你找一个dataset['Title']
,其中包含来自rareTitles
的字符串。
您可以使用pandas DataSeries的str属性,它允许使用字符串方法,如contains
。由于此方法也接受模式作为正则表达式,因此您可以将“Capt | Col ...”作为参数。要加入集合中的所有元素,您可以使用str.join()
方法。
所以解决方案就是
dataset[dataset['Title'].str.contains('|'.join(rareTitles))]