我有如下大型数据框 (df
),如下所示:
ID date PRICE
1 10001 19920103 14.500
2 10001 19920106 14.500
3 10001 19920107 14.500
4 10002 19920108 15.125
5 10002 19920109 14.500
6 10002 19920110 14.500
7 10003 19920113 14.500
8 10003 19920114 14.500
9 10003 19920115 15.000
问题:删除(或删除)每个 ID 的第一行的最有效方法是什么?我想要这个:
ID date PRICE
2 10001 19920106 14.500
3 10001 19920107 14.500
5 10002 19920109 14.500
6 10002 19920110 14.500
8 10003 19920114 14.500
9 10003 19920115 15.000
我可以对每个唯一的 ID
进行循环并删除第一行,但我认为这不是很有效。
最佳答案
另外一行代码是df.groupby('ID').apply(lambda group: group.iloc[1:, 1:])
Out[100]:
date PRICE
ID
10001 2 19920106 14.5
3 19920107 14.5
10002 5 19920109 14.5
6 19920110 14.5
10003 8 19920114 14.5
9 19920115 15.0
关于Python:Pandas - 按组删除第一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31226142/