gpt4 book ai didi

python - 我如何在不重复计算的情况下计算 python 中数据框的所有唯一值?

转载 作者:行者123 更新时间:2023-12-04 01:14:13 25 4
gpt4 key购买 nike

假设我有一个看起来像这样的 python 数据框:

Factor_1    Factor_2    Factor_3   Factor_4   Factor_5
A B A Nan Nan
B D F A Nan
F A D B A

像这样,我有 5 列具有不同的因素。我想创建一个列来计算 dtaframe 中出现的这些因素的数量,但如果一行中的值 apperas 它只将其计为 1,例如如果一行有 A、B , C, A, A只算1个A。预期的输出将是这样的。

Factor   Count
A 3
B 3
D 2
F 2
Nan 2

我使用了我得到帮助的代码

df.stack(dropna=False).value_counts(dropna=False)

我正在使用 if 来删除重复计数,但我想知道是否有一种实用且简单的方法来执行此操作,如上面的代码,而不是使用 If,因为我正在做的事情效率不高。

最佳答案

您可以使用Series.unique + Series.value_counts:

s = pd.Series(np.hstack(df.T.apply(pd.Series.unique))).value_counts(dropna=False)

B      3
A 3
F 2
D 2
NaN 2
dtype: int64

关于python - 我如何在不重复计算的情况下计算 python 中数据框的所有唯一值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63886534/

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