使用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
,该解决方案也可针对不同的群体实施。
答案 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
进行存储
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