【发布时间】:2021-06-08 11:53:03
【问题描述】:
我有一个看起来像这样的 df:
id string value
3 hello 23
7 bee 90
我想在整个数据框中搜索字符串列中的“hello”,并返回它所在的整行以及索引。我该怎么做?
【问题讨论】:
标签: python python-3.x pandas string dataframe
我有一个看起来像这样的 df:
id string value
3 hello 23
7 bee 90
我想在整个数据框中搜索字符串列中的“hello”,并返回它所在的整行以及索引。我该怎么做?
【问题讨论】:
标签: python python-3.x pandas string dataframe
您可以使用以下方法过滤数据框;
df[df['string']=='hello']
其中 df 是数据帧
【讨论】:
要获得与精确字符串匹配的行,您可以使用@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))]
【讨论】: