我有一个这样的数据集:
#Load the required libraries
import pandas as pd
#Create dataset
data = {'id': [1, 1, 1, 1, 1,1, 1, 1, 1, 1, 1,
2, 2,2,2,2,
3, 3, 3, 3, 3, 3,
4, 4,4,4,4,4,4,4,
5, 5, 5, 5, 5,5, 5, 5,5],
'cycle': [1,2, 3, 4, 5,6,7,8,9,10,11,
1,2, 3,4,5,
1,2, 3, 4, 5,6,
1,2,3,4,5,6,7,8,
1,2, 3, 4, 5,6,7,8,9,],
'Salary': [7, 7, 7,8,9,10,11,12,13,14,15,
4, 5,6,7,8,
8,9,10,11,12,13,
8,1,2,3,4,5,6,7,
7, 7,9,10,11,12,13,14,15,],
'Children': ['No', 'Yes', 'Yes', 'Yes', 'Yes', 'No','No', 'Yes', 'Yes', 'Yes', 'No',
'Yes', 'No', 'Yes', 'No', 'Yes',
'No','Yes', 'Yes', 'No','No', 'Yes',
'Yes','Yes', 'Yes', 'No','No', 'Yes', 'Yes', 'Yes',
'No', 'Yes', 'No', 'No', 'Yes', 'Yes', 'Yes', 'Yes', 'No',],
'Days': [123, 128, 66, 66, 120, 141, 52,96, 120, 141, 52,
96, 120,128, 66, 120,
15,123, 128, 66, 120, 141,
141,128, 66, 123, 128, 66, 120,141,
123, 128, 66, 123, 128, 66, 120, 141, 52,],
}
#Convert to dataframe
df = pd.DataFrame(data)
print("df = \n", df)
数据帧如下所示:
在这里,每个id都有不同的周期,就像‘Cycle’列一样.例如,
ID-1最多有11个周期.
ID-2最多有5个周期.
ID-3最多有6个周期.
ID-4最多有8个周期.
ID-5最多有9个周期.
现在,对于每个id,我希望从底部删除行.
例如,
对于id-1,删除最后四行.
对于id-2,删除最后两行.
对于id-3,删除最后三行.
对于id-4,删除最后五行.
对于id-5,删除最后六行.
然后,数据帧如下所示:
有没有人可以告诉我如何用Python语言来完成这个任务?