Python Pandas中某一列的累积百分比
累计百分比是通过数学公式计算的,即用列的累计总和除以所有数值的数学总和,然后将结果乘以100。这也适用于Pandas数据框架。
这里,预定义的cumsum()和sum()函数被用来计算一列所有数值的累积和和。
语法:
df[cum_percent] = 100 * (df['column_name'].cumsum()/df['column_name].sum()
示例 1:
import pandas as pd
import numpy as np
# Create a DataFrame
df1 = {
'Name':['abc','bcd','cde','def','efg','fgh','ghi'],
'Math_score':[52,87,49,74,28,59,48]}
df1 = pd.DataFrame(df1, columns=['Name','Math_score'])
# Computing Cumulative Percentage
df1['cum_percent'] = 100*(df1.Math_score.cumsum() / df1.Math_score.sum())
df1
输出:
示例 2:
import pandas as pd
import numpy as np
# Create a DataFrame
df1 = {
'Name':['abc','bcd','cde','def','efg','fgh','ghi'],
'Math_score':[52,87,49,74,28,59,48],
'Eng_score':[34,67,25,89,92,45,86]
}
df1 = pd.DataFrame(df1,columns=['Name','Math_score','Eng_score'])
# Computing cumulative Percentage
df1['Eng_cum_percent'] = (df1.Eng_score.cumsum() / df1.Eng_score.sum()) * 100
df1
输出: