gpt4 book ai didi

python - Pandas value_counts() + 权重

转载 作者:行者123 更新时间:2023-12-01 06:42:13 30 4
gpt4 key购买 nike

我有一个像这样的 Pandas 数据框:

df = pd.DataFrame({'id': [121, 34324, 111, 12, 45, 232],
'weight': [10, 2, 80, 49, 71, 18],
'var_bool': [True, True, False, True, False, True],
'var_cat': ['red', 'blue', 'red', 'green', 'green', 'blue']})

df['var_bool'] = df['var_bool'].astype('bool')
df['var_cat'] = df['var_cat'].astype(pd.api.types.CategoricalDtype())

我想应用一个函数来计算唯一标签的频率,其权重由“权重”列给出:

df['var_bool'].value_counts() #I need to consider the weight of each row
df['var_cat'].value_counts() #I need to consider the weight of each row

该函数必须适用于“var_bool”和“var_cat”,可能需要快速引擎(数据帧相当大)。非常感谢!

编辑:结果应该是:

#for "var_bool"
True 79
False 151

#for "var_cat"
red 90
blue 20
green 120

最佳答案

我认为如果没有 groupby 就无法做到这一点。

df.groupby('var_bool')['weight'].sum()

关于python - Pandas value_counts() + 权重,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59395950/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com