【发布时间】:2018-06-06 14:37:37
【问题描述】:
我有一个这样定义的数据框:
df = pd.DataFrame({'A':[5,8,96,3,5,41,2,45,7,8], 'B':[1,2,3,5,6,10,11,12,13,18]})
df = df.set_index('B')
df.index.name = None
我的目标是为具有连续索引的数据帧子集分配如下值:
算法:从图片中可以看出,前 3 行的索引为 1、2、3,它们增加了 1(因此是连续的)。因此,我将 C 列中的值 0 分配给该子集。 第二个子集由具有连续索引 5 和 6 的行组成(注意没有索引 4!)。因此,我将 C 列中的值 1 分配给他们。
问题:您知道实现这种结果的有效且聪明的方法吗?我能够通过使用大量的 for 循环和 if 来实现这样的结果,但它非常讨厌。
【问题讨论】:
标签: python pandas dataframe indexing