Pandas 查找dataframe中字符串的索引和列数
我有一个数据框(多列),我想找到特定字符串在数据框中的确切(数字)位置。关于位置,我的意思是我想知道它的行号和列号(不是列名) 让我们用以下数据帧Pandas 查找dataframe中字符串的索引和列数,pandas,dataframe,find,location,Pandas,Dataframe,Find,Location,我有一个数据框(多列),我想找到特定字符串在数据框中的确切(数字)位置。关于位置,我的意思是我想知道它的行号和列号(不是列名) 让我们用以下数据帧df做一个示例: hi apple fine right yes okay maybe apple no 我想找到所有苹果的位置,所以我想知道第0行第1列有一个apple,第2行第1列有一个apple 我怎样才能找到这些数字 我首先查找满足条件的所有位置,该元素确实包含我要查找的字符串,如下所示: df[df=
df
做一个示例:
hi apple fine
right yes okay
maybe apple no
我想找到所有苹果的位置,所以我想知道第0行第1列有一个apple
,第2行第1列有一个apple
我怎样才能找到这些数字
我首先查找满足条件的所有位置,该元素确实包含我要查找的字符串,如下所示:
df[df=='apple']
这很好,但是如何获取所有True
的位置?
我尝试了这个
df.index[df=='apple'].tolist()
,但它给出了一个错误,因为有多个列。我知道我可以通过在所有列上运行for循环来解决这个问题,但我想知道是否有更直接的方法。而且str.find()
没有给我列号。我还研究了get\u loc
,但这似乎只适用于索引。您可以使用np.argwhere
:
print(np.argwhere(df.values==“apple”))
印刷品:
[[0, 1], [2, 1]]
[[0 1]
[2 1]]
列表如下:
print(np.argwhere(df.values==“apple”).tolist())
印刷品:
[[0, 1], [2, 1]]