我很挣扎,因为我没有找到哪里以及如何获得像我的DataFrame的行号和列号这样的索引。然后我解决了这个问题,编写了一个可以完成这项工作的代码,并考虑在这里分享它作为问题的答案。而且,如果有一种更简单的方法可以增加价值作为答案。
假设您获得了此数据框,并希望找到2在该特定数据框中出现的位置(df)
d = {'one' : [1., 2., 3., 4.],
....: 'two' : [4., 3., 2., 1.]}
df=pd.DataFrame(d, index=['a', 'b', 'c', 'd'])
有没有办法说它位于df.ix[1,0]
和df.ix[2,1]
答案 0 :(得分:2)
在考虑之后我到达了下面我写了一个函数
def Get_indcies(df,b):
t=np.where(df.values == b)
return np.column_stack((t[0],t[1]))
在这种情况下,答案是
t=Get_indcies(df,2)
会给你
array([[1, 0],
[2, 1]], dtype=int64)
因此元素显示它们的确切位置
答案 1 :(得分:0)
将行,列对作为元组相对于index
和columns
对象的值
s = df.eq(2).stack()
s[s].index.values
array([('b', 'one'), ('c', 'two')], dtype=object)
要获取位置,请构建一个没有索引或列的新数据框
s = pd.DataFrame(df.values).eq(2).stack()
s[s].index.values
array([(1, 0), (2, 1)], dtype=object)
答案 2 :(得分:0)
for row in range(0,df.shape[0]):
s = df.eq(value-what you want to serch).stack()
print(s[s].index.values)