Python 获取数据对象的x、y样式坐标

Python 获取数据对象的x、y样式坐标,python,pandas,Python,Pandas,我想知道是否可以在pandas dataframe中搜索值,如果找到,则返回行、列名样式坐标。例如,如果在下面的数据框中搜索mat字符串,将返回(3,C) A B C 0 20 32 bat 1 30 234 cat 2 10 23 rat 3 40 23 mat 4 50 42523 etc 我已经阅读了文档,找到的最接近的解决方案是索引。get_loc(),尽管它仅基于命名索引返回loc 熊猫版本0.22.

我想知道是否可以在pandas dataframe中搜索值,如果找到,则返回行、列名样式坐标。例如,如果在下面的数据框中搜索
mat
字符串,将返回(3,C)

     A    B    C
0   20     32  bat
1   30    234  cat
2   10     23  rat
3   40     23  mat
4   50  42523  etc
我已经阅读了文档,找到的最接近的解决方案是
索引。get_loc()
,尽管它仅基于命名索引返回
loc


熊猫版本0.22.0

正如@Wen所建议的,
np。其中
是搜索坐标值的有效方法。下面的方法将返回此类坐标的列表

import pandas as pd

df = pd.DataFrame([[20, 32, 'bat'], [30, 234, 'cat'],
                  [10, 23, 'rat'], [40, 23, 'mat'],
                  [50, 42523, 'etc']], columns=['A', 'B', 'C'])

[(x, df.columns[y]) for x, y in zip(*np.where(df.values == 'mat'))]  # [(3, 'C')]

正如@Wen所建议的,
np.where
是搜索坐标值的有效方法。下面的方法将返回此类坐标的列表

import pandas as pd

df = pd.DataFrame([[20, 32, 'bat'], [30, 234, 'cat'],
                  [10, 23, 'rat'], [40, 23, 'mat'],
                  [50, 42523, 'etc']], columns=['A', 'B', 'C'])

[(x, df.columns[y]) for x, y in zip(*np.where(df.values == 'mat'))]  # [(3, 'C')]

检查np.where~检查np.where~对不起,你能解释一下*np.where实际做什么吗?试图四处搜索,但仍然不是很清楚。请详细解释@jpp@ChauLoi,我对它的解释再好不过了,它还包括示例用法。我指的是np前面的星号(*)@jpp@ChauLoi,这是解包操作符,有关解释和示例,请参阅。对不起,您能解释一下*np.where实际做了什么吗?试图四处搜索,但仍然不是很清楚。请详细解释@jpp@ChauLoi,我对它的解释再好不过了,它还包括示例用法。我指的是np前面的星号(*)@jpp@ChauLoi,这是解包运算符,有关说明和示例,请参阅。