我可以获取DataFrame中给定位置的字符串索引和列名吗?

时间:2018-06-20 11:57:13

标签: python pandas

给出类似以下的内容

>>> 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')仅迭代一半以上,但是这样做却丢失了行和列信息。

2 个答案:

答案 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的indexcolumns属性本身就是Series。因此我的解决方案是breakfast.index[y]breakfast.columns[x],其中yx是整数。这样便可以获取给定位置的相应字符串。