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]]