【问题标题】:Filter using keyword Pandas Dataframe Python [duplicate]使用关键字 Pandas Dataframe Python 过滤 [重复]
【发布时间】:2020-10-09 00:13:28
【问题描述】:

我有数据存储在数据框中。现在我想使用关键字过滤掉特定列中的数据。 例如: 让我的数据框成为:

    customer    product         state
0   shyam       pen drive       delhi
1   suresh      hard disk       punjab
2   shanu       USB pen drive   haryana
3   rohan       pen drive 16gb  uttarpradesh

现在我想在“产品”列中过滤此数据框,其值仅包含“笔”。 所以结果应该是这样的:

    customer    product         state
0   shyam       pen drive       delhi
2   shanu       USB pen drive   haryana
3   rohan       pen drive 16gb  uttarpradesh

我们将不胜感激。

【问题讨论】:

    标签: python-3.x pandas filtering


    【解决方案1】:

    使用这个:

    df[df['product'].str.contains('pen')]
    

    输出:

      customer         product         state
    0    shyam       pen drive         delhi
    2    shanu   USB pen drive       haryana
    3    rohan  pen drive 16gb  uttarpradesh
    

    .str,字符串访问器,可能很慢,使用列表推导以获得更好的性能:

    df[['pen' in i for i in df['product']]]
    

    【讨论】:

    • @ShubhamSharma 谢谢!
    • 谢谢!还有有什么方法可以使用多个关键字查找,例如:df[df['product'].str.contains('pen','hard','something_else')]
    • 是的。使用正则表达式.str.contains('pen|hard|something_else')
    【解决方案2】:
    df2 = df.loc[df.product.str.contains('pen')]
    

    【讨论】:

      猜你喜欢
      • 2013-07-01
      • 2019-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-06
      • 2021-09-10
      • 2020-11-29
      相关资源
      最近更新 更多