Python 按一列分组并查找两列中的第一列
我有一个数据帧geomerge,我需要按一列Python 按一列分组并查找两列中的第一列,python,pandas,group-by,Python,Pandas,Group By,我有一个数据帧geomerge,我需要按一列grpno.分组,并选择列MaxOfcount percent的第一列和列状态代码的第一列,同时显示grpno.。我将它们重命名为FirstOfMaxOfState计数百分比和FirstOfstate代码 我的输入数据帧: count percent grpno. state code MaxOfcount percent 0 14.78 1 CA 14.78 1
grpno.
分组,并选择列MaxOfcount percent
的第一列和列状态代码的第一列,同时显示grpno.
。我将它们重命名为FirstOfMaxOfState计数百分比
和FirstOfstate代码
我的输入数据帧:
count percent grpno. state code MaxOfcount percent
0 14.78 1 CA 14.78
1 0.00 2 CA 0.00
2 0.00 2 FL 0.00
3 8.80 3 CA 8.80
4 0.00 6 NC 0.00
5 0.00 5 NC 0.00
6 59.00 4 MA 59.00
FirstOfMaxOfState count percent state pool number FirstOfstate code
0 14.78 1 CA
1 0.00 2 CA
2 8.80 3 CA
3 59.00 4 MA
4 0.00 5 NC
5 0.00 6 NC
我的输出数据帧:
count percent grpno. state code MaxOfcount percent
0 14.78 1 CA 14.78
1 0.00 2 CA 0.00
2 0.00 2 FL 0.00
3 8.80 3 CA 8.80
4 0.00 6 NC 0.00
5 0.00 5 NC 0.00
6 59.00 4 MA 59.00
FirstOfMaxOfState count percent state pool number FirstOfstate code
0 14.78 1 CA
1 0.00 2 CA
2 8.80 3 CA
3 59.00 4 MA
4 0.00 5 NC
5 0.00 6 NC
有人能帮忙吗?删除不需要的列,按grpno
分组,取第一个值,并展平多索引:
df2 = df.drop('count percent', 1).groupby('grpno.').take([0]).reset_index(0)
重命名列:
mapping = {'state code':'FirstOfstate code' ,
'grpno.': 'state pool number',
'MaxOfcount percent': 'FirstOfMaxOfState count percent'}
df2.rename_axis(mapping, axis=1)
结果:
>>> df2
state pool number FirstOfMaxOfState count percent FirstOfstate code
0 1 14.78 CA
1 2 0.00 CA
3 3 8.80 CA
6 4 59.00 MA
5 5 0.00 NC
4 6 0.00 NC