给出类似以下的内容
>>> breakfast = pd.DataFrame([[2, 2, 3],
[1, 2, 3],
[3, 0, 2]],
index=['Thuy', 'Kana', 'Malcolm'],
columns=['eggs', 'bacon', 'pancakes'])
>>> breakfast
eggs bacon pancakes
Thuy 2 2 3
Kana 1 2 3
Malcolm 3 0 2
>>> breakfast.iloc[1,1]
2
是否还可以看到(row, col)
的{{1}}对是breakfast.iloc[1,1]
。对于我具有对角对称的大数据帧,这将很方便。我正在使用('Kana', 'bacon')
仅迭代一半以上,但是这样做却丢失了行和列信息。
答案 0 :(得分:1)
您只需定义自己的函数即可按顺序位置返回索引和列标签值:
In[96]:
def row_col(index_pos, column_pos):
return (breakfast.index[index_pos], breakfast.columns[column_pos])
row_col(1,1)
Out[96]: ('Kana', 'bacon')
答案 1 :(得分:0)
我忘记了DataFrame的index
和columns
属性本身就是Series。因此我的解决方案是breakfast.index[y]
或breakfast.columns[x]
,其中y
和x
是整数。这样便可以获取给定位置的相应字符串。