gpt4 book ai didi

python - pandas 计算主题的陌生度

转载 作者:行者123 更新时间:2023-12-01 03:45:23 25 4
gpt4 key购买 nike

这是我的任务的非常简短的描述。我有一个如下所示的数据框:df = pd.DataFrame([[2, 0], [2, 1], [1, 0], [1, 0], [1, 1], [3, 0]], columns=['topic', 'strange'])

对于每个主题,我需要计算“奇怪”的行的百分比。所以结果会是这样的1 - 1/3, 2 - 1/2, 3 - 0 .

我想出的最有效的解决方案是:

a = df['topic'].value_counts()
b = df[df['strange'] == 1]['topic'].value_counts()
res = (b / a).fillna(0)
<小时/>

此外,这很可能是相当合理的性能,并且没有那么难看,我相信通过智能 groupby 操作可以更轻松地实现这一点。

还有人有其他建议吗?寻找更短或更快的替代方案。

最佳答案

如果strange保证仅为0或1,则可以只取平均值:

In [7]: df.groupby("topic").mean()
Out[7]:
strange
topic
1 0.333333
2 0.500000
3 0.000000

关于python - pandas 计算主题的陌生度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39010111/

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