【发布时间】:2021-10-01 18:27:33
【问题描述】:
我有一个如下所示的数据框:
arr = pd.DataFrame([[0,0],[0,1],[0,4],[1,4],[1,5],[1,6],[2,5],[2,8],[2,6])
我想要的输出是表示第 2 列中的值是否在下一个连续组中的布尔值。这些组由第 1 列中的值表示。例如,4 出现在第 0 组中,而下一个连续组出现在第 1 组中:
output = pd.DataFrame([[False],[False],[True],[False],[True],[True],[Nan],[Nan],[Nan]])
第 2 组的输出将是 Nan,因为第 3 组不存在。
到目前为止,我已经尝试过:
output = arr.groupby([0])[1].isin(arr.groupby([0])[1].shift(periods=-1))
这不起作用,因为我无法在 groupby series 上应用 isin()。
【问题讨论】: