【问题标题】:find a string and extract the full row找到一个字符串并提取整行
【发布时间】:2021-06-08 11:53:03
【问题描述】:

我有一个看起来像这样的 df:

id   string     value
3    hello      23
7    bee        90

我想在整个数据框中搜索字符串列中的“hello”,并返回它所在的整行以及索引。我该怎么做?

【问题讨论】:

    标签: python python-3.x pandas string dataframe


    【解决方案1】:

    您可以使用以下方法过滤数据框;

    df[df['string']=='hello']
    

    其中 df 是数据帧

    【讨论】:

      【解决方案2】:

      要获得与精确字符串匹配的行,您可以使用@Aanish 的命题。 如果要返回 string 列包含特定字符串的每一行,可以使用 str.contain() 方法:

      r = df[df['string'].str.contains('hello')]
      

      要获取行的索引,只需使用.index 方法

      index = r.index.to_list()
      

      相当于做:df.index[df['string'].str.contains('hello')]

      然后您可以使用您的索引和使用列表推导的相应行创建一个元组列表:

      output = [(index[i],r.loc[index[i]]) for i in range(len(index))]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-04-30
        • 1970-01-01
        • 2023-04-06
        • 1970-01-01
        • 1970-01-01
        • 2017-02-25
        • 1970-01-01
        • 2020-10-25
        相关资源
        最近更新 更多