选择与列

时间:2016-03-15 17:02:54

标签: python pandas

在python的pandas中,假设有一个DataFrame,其中一列中的值是一个字符串。

df = pd.DataFrame({'State':['California','Oregon','Washington'],\
     'Cities':['Los Angeles, Oakland, San Diego','Portland, Eugene','Seattle, Spokane']})

如何选择与列中任何字符串中的一个值匹配的行?例如,如何只返回将“洛杉矶”作为其中一个城市的行?

我的第一个想法是遍历DataFrame中的每一行,然后使用字符串操作(.split(','))来分解每个字符串(对于非常大的数据集,这似乎也不高效)。但是,我不知道从那里去哪里实际选择那一行。

1 个答案:

答案 0 :(得分:2)

根据Woody Pride的评论:

获得一个城市:

df[df.Cities == 'Los Angeles']

>>>
Empty DataFrame
Columns: [Cities, State]
Index: []

对于包含可能多个城市的字符串:

df[df.Cities.str.contains('Los Angeles')]

>>>                            
                            Cities       State
0  Los Angeles, Oakland, San Diego  California

请参阅docs

相关问题