【问题标题】:Function that depends on the row number取决于行号的函数
【发布时间】:2016-12-07 07:23:54
【问题描述】:

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

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

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

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

谢谢。

【问题讨论】:

标签: python pandas numbers row


【解决方案1】:

考虑数据框df

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

df

还有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

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

您唯一的其他选择是在获得它时跟踪它的位置。最好的方法是:

df.iterrows() 上使用enumerate

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 

【讨论】:

    【解决方案2】:

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

    谢谢大家。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多