python - 使用 Pandas 查询按部分字符串选择行

标签 python pandas dataframe

我有一个 DataFrame . 1 列 ( name ) 具有字符串值。我想知道是否有一种方法可以使用 DataFrame.query() 根据针对特定列的部分字符串匹配来选择行。方法。

我试过:

  • df.query('name.str.contains("lu")') .错误消息:“TypeError:'Series' 对象是可变的,因此它们不能被散列”
  • df.query('"lu" in name') .返回一个空 DataFrame .

  • 我使用的代码:
    import pandas as pd
    
    df = pd.DataFrame({
        'name':['blue','red','blue'],
        'X1':[96.32,96.01,96.05]
    }, columns=['name','X1'])  
    
    
    print(df.query('"lu" in name').head())
    print(df.query('name.str.contains("lu")').head())
    

    我知道我可以使用 df[df['name'].str.contains("lu")]但我更喜欢使用
    询问。

    最佳答案

    This answer is out of date. Please check @petobens' answer.



    从 0.20.2 版本开始,query不支持部分字符串匹配。有一个open future request关于它,其中一位核心开发人员似乎同意这将是一个不错的补充。

    关于python - 使用 Pandas 查询按部分字符串选择行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44933071/

    相关文章:

    r - 如何以编程方式在data.table中选择列?

    python - 如何在 Dask 中重置连接数据帧的索引

    python - 代理身份验证错误 - python

    python - cursor.fetchall() 的打印结果没有尾随 'L'

    python - (使用 Pandas 解决 SQL 问题)从给定的 pandas 数据帧中,找到请求的总体接受率,四舍五入到小数点后两位

    python - Pandas 矢量化操作不适用于大型数据集

    python - 标记数据框的行

    python - 在 matplotlib Python 中设置不同的条形颜色

    python - Pandas:如何将数据框插入 Clickhouse

    python - 使用 Pandas groupby agg 函数将集合转换为列表会导致 'ValueError: Function does not reduce'