【问题标题】:Filter Pandas Data Frame based on exact string match根据精确字符串匹配过滤 Pandas 数据框
【发布时间】:2017-12-23 04:32:27
【问题描述】:

我想根据字符串的精确匹配过滤熊猫数据框。

我有一个如下的数据框

df1 = pd.DataFrame({'vals': [1, 2, 3, 4,5], 'ids': [u'aball', u'bball', u'cnut', u'fball','aballl']})    

我想过滤除具有“aball”的行之外的所有行。如您所见,我还有一个 ids == 'aballll' 的条目。我想把它过滤掉。因此下面的代码不起作用:

df1[df1['ids'].str.contains("aball")]    

连 str.match 都不起作用

df1[df1['ids'].str.match("aball")] 

任何帮助将不胜感激。

【问题讨论】:

  • 期望的输出是什么?

标签: python string pandas


【解决方案1】:

你可以试试这个:

df1[~(df1['ids'] == "aball")] 

基本上它会找到所有匹配“aball”的条目,然后否定它。

【讨论】:

    【解决方案2】:

    保持简单,这应该可行:

    df1[df1['ids'] == "aball"] 
    

    【讨论】:

      猜你喜欢
      • 2022-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-03
      • 2018-03-09
      • 2023-03-19
      • 2020-10-01
      相关资源
      最近更新 更多