我有一个熊猫数据帧,如下所示
数据帧({‘id’:[1,1,1,2,2,3,3,3,3,4,4,5,6,6,7],
“值”:[“第一”、“第二”、“第二”、“第一”,
“第二”、“第一”、“第三”、“第四”,
“第五”、“第二”、“第五”、“第一”,
“第一”、“第二”、“第三”、“第四”、“第五”]})
我想按[“id”,“value”]对其进行分组,并获得每组的第一行
id值
0 1先
1秒1秒
2.1秒
3.2首先
4.2秒
5.3首先
6.3第三
7.3第四
八三五
9.4秒
105
11.5首先
12.6首先
13.6秒
14.6第三
15 7第四
16.7.5
预期结果
id值
1首先
2首先
3首先
4秒
5首先
6首先
7/4
我尝试了以下操作,它只给出了数据帧的第一行。任何有关这方面的帮助都将不胜感激
[25]on
:对于索引,df.iterrows()中的行:
..:df2=pd.DataFrame(df.groupby(['id','value']).reset_index().ix[0])
>&燃气轮机&燃气轮机;df.groupby('id').first()
价值
身份证件
1首先
2首先
3首先
4秒
5首先
6首先
7/4
如果您需要id作为列:
>&燃气轮机&燃气轮机;df.groupby('id').first().reset_index()
id值
0 1先
1 2首先
2.3首先
3.4秒
4.5首先
5.6首先
67第四
要获取n条第一记录,可以使用head():
>&燃气轮机&燃气轮机;df.groupby('id').head(2).重置索引(drop=True)
id值
0 1先
1秒1秒
2首先
3.2秒
4.3首先
五三三
6.4秒
7.4.5
8.5首先
9.6首先
106秒
11 7第四
12.7.5