我正在使用以下数据框:
Date Id Amount
0 201301 1 nan
1 201302 1 nan
2 201303 1 100
3 201304 1 120
4 201305 1 nan
5 201306 1 120
6 201302 2 nan
7 201303 2 150
8 201304 2 180
我正在尝试获取Amountby的第一个有效索引Id。由于某种原因,这不起作用:
df.groupby('Id').Amount.first_valid_index()
我也在尝试这个:
df.groupby('Id').Amount.apply(lambda x: x.first_valid_index())
但是我的数据集是 20M+ 行,所以它花费的时间太长了,这对我不起作用。
有没有更快的方法来按组查找第一个索引?
我想要的输出是:
first_idx = [2,7]
甚至更好:
Date Id Amount
2 201303 1 100
3 201304 1 120
4 201305 1 nan
5 201306 1 120
7 201303 2 150
8 201304 2 180
编辑:df.groupby('Id').Amount.apply(lambda x: x.first_valid_index())确实有效,但我觉得必须有一个更快的选择,问题似乎没有那么复杂。
幕布斯7119047
jeck猫
相关分类