我有一个包含 Dist、Class 和 Count 列的数据集。
我想按 dist 对该数据集进行分组,并将每组的计数列除以该组的计数总和(将其标准化为 1)。
以下 MWE 演示了我迄今为止的方法。但我想知道:有没有更紧凑/流行的方式来写这个?
import pandas as pd
import numpy as np
a = np.random.randint(0,4,(10,3))
s = pd.DataFrame(a,columns=['Dist','Class','Count'])
def manipcolumn(x):
csum = x['Count'].sum()
x['Count'] = x['Count'].apply(lambda x: x/csum)
return x
s.groupby('Dist').apply(manipcolumn)