我有一个具有以下结构的数据帧:
1995 1996
AT1 3 6
AT2 5 3
AT3 2 1
FR1 1 1
FR5 2 1
FR7 7 8
我想添加列或创建一个数据框,其中包含每行占总数的百分比,具体取决于前两个字母所指示的组。 基本上,对于每一列:
对每组行的值求和(即对开始的所有行求和 通过AT,然后是以FR…)开头的所有行
将不同组中的每一行除以其总和,然后乘以 100.
将这些值放入新列或新数据框中
预期产出将是:
1995 1996 Percentage_1995 Percentage_1996
AT1 3 6 30 60
AT2 5 3 50 30
AT3 2 1 20 10
FR1 1 1 10 10
FR5 2 1 20 10
FR7 7 8 70 80
我知道这可能听起来很混乱,所以如果我不太清楚,我道歉。如果您能提供任何帮助,我将不胜感激。先谢谢你
您可以使用
GroupBy.transform
和df.div
进行除法,使用df.mul
乘以100,然后使用df.assign
相关问题 更多 >
编程相关推荐