功能取决于行号

时间:2016-08-02 04:48:14

标签: python pandas numbers row

在pandas中,是否可以引用函数的行号。我不是在谈论.iloc。

iloc获取一个位置,即一个行号并返回一个数据帧值。

我想访问数据框中的位置编号。

例如,如果函数位于3行向下和2列的单元格中,我想要一种方法来返回整数3.不是该位置的条目。

感谢。

2 个答案:

答案 0 :(得分:1)

考虑数据框df

df = pd.DataFrame([[1, 2], [3, 4]], ['a', 'b'], ['c', 'd'])

df

enter image description here

row

row = df.ix['a']

row

c    1
d    2
Name: a, dtype: int64

此行没有任何内容表明它是df的第一行。这些信息基本上就丢失了......等等。

您可以接受@ jezrael的建议并使用get_loc

df.index.get_loc(row.name)

0

但这只适用于您的索引是唯一的。

你唯一的另一个选择是在你得到它时跟踪它的位置。最好的方法是:

enumerate

上使用df.iterrows()
for i, (idx, row) in enumerate(df.iterrows()):
    print "row position: {:>3d}\nindex value: {:>4s}".format(i, idx)
    print row, '\n'

row position:   0
index value:    a
c    1
d    2
Name: a, dtype: int64 

row position:   1
index value:    b
c    3
d    4
Name: b, dtype: int64 

答案 1 :(得分:0)

抱歉,我无法在手机上添加代码示例。当他说信息丢失时,piRSquared证实了我的恐惧。我想不得不每次都做一个循环或添加一个带有数字的列(如果我对它们进行排序将会加扰:/)。

谢谢大家。