我有一个包含2列的数据框,
count percent grpno.
0 14.78 1
1 0.00 2
2 8.80 3
3 9.60 4
4 55.90 4
5 0.00 2
6 0.00 6
7 0.00 5
8 6.90 1
9 59.00 4
我需要获得列的最大值'计算百分比 '并按列分组' grpno。'。
虽然我尝试过同样的事情geostat.groupby(['grpno.'], sort=False)['count percent'].max()
我得到输出
grpno.
1 14.78
2 0.00
3 8.80
4 59.00
6 0.00
5 0.00
Name: count percent, dtype: float64
但我需要输出为一个数据框,其列名被修改为' MaxOfcount percent'和' grpno。'任何人都可以帮忙吗?感谢
答案 0 :(得分:4)
def object_params
params.require(:object).permit(:date, :name, :thing, :item).select { |k, v| !v.nil? }
end
您也可以在一行中完成:
res = df.groupby('grpno.')['count percent'].max().reset_index()
res.columns = ['grpno.', 'MaxOfcount percent']
grpno. MaxOfcount percent
0 1 14.78
1 2 0.00
2 3 8.80
3 4 59.00
4 5 0.00
5 6 0.00
答案 1 :(得分:0)
您可以将L <- lapply(names(data), function(d) transform(data[[d]], newvar=d))
names(L) <- names(data)
与参数groupby
一起使用:
as_index=False