熊猫:存储“行数”

时间:2016-04-14 15:16:18

标签: python pandas

使用df.iloc[i]我可以访问ith行。我想创建一个包含此信息的列。

(例如,在按照相关标准排序后),我该如何存储此信息?

输入:

           col1
   myIndex 
     12123    a
     11123    b
     10231    a

预期输出

           col1  iloc
   myIndex 
     12123    a     0
     11123    b     1
     10231    a     2

最佳地,根据df.groupby,该解决方案也可针对不同的群体实施。

1 个答案:

答案 0 :(得分:1)

您可以使用range

df['iloc'] = range(len(df))
print df
        col1  iloc
myIndex           
12123      a     0
11123      b     1
10231      a     2

np.arange提及Best Practices for performance improvements using Service Bus brokered messaging

df['iloc'] = np.arange(len(df))
print df
        col1  iloc
myIndex           
12123      a     0
11123      b     1
10231      a     2

如果您需要EdChum使用groupby

进行存储
print df

        col1  col2
myIndex           
12123      a     1
11123      b     2
10231      a     3
10233      b     3

df['iloc'] = range(len(df))

df['iloc_groups'] = df.groupby('col1', sort=False)['col1'].cumcount()
print df
        col1  col2  iloc  iloc_groups
myIndex                              
12123      a     1     0            0
11123      b     2     1            0
10231      a     3     2            1
10233      b     3     3            1