计算pandas数据框中最近的零

时间:2018-03-05 12:12:38

标签: pandas dataframe group-by

date_0 = list(pd.date_range('2017-01-01', periods=6, freq='MS'))
date_1 = list(pd.date_range('2017-01-01', periods=8, freq='MS'))
data_0 = [9, 8, 4, 0, 0, 0]
data_1 = [9, 9, 0, 0, 0, 7, 0, 0]
id_0 = [0]*6
id_1 = [1]*8
df = pd.DataFrame({'ids': id_0 + id_1, 'dates': date_0 + date_1, 'data': data_0 + data_1})

对于每个id(此处为01),我想知道时间帧结束时的一系列零有多长。

对于给定的示例,结果为id_0 = 3, id_1 = 2

那么我如何限制时间戳,所以我可以运行类似的东西:

df.groupby('ids').agg('count')

1 个答案:

答案 0 :(得分:1)

首先需要通过与 ... CDHandler.deleteObject(crypto: cryptos[indexPath.row]) cryptos.remove(at: indexPath.row) tableView.deleteRows(at: [indexPath], with: .fade) ed值进行比较来获得所有连续的0不等于和shift

然后计算前组,删除第一级cumsum,并使用MultiIndex drop_duplicates获取每组的最后一个值:

keep='last'