gpt4 book ai didi

python - 计算列中的唯一值

转载 作者:太空宇宙 更新时间:2023-11-04 08:26:51 25 4
gpt4 key购买 nike

我有一个 df,它有一列,每行有多个逗号分隔值。我想计算唯一值在该列中出现的次数。

df 看起来像这样:

                             category  country
0 widget1, widget2, widget3, widget4 USA
1 widget1, widget3 USA
2 widget1, widget2 China
3 widget2 Canada
4 widget1, widget2, widget3 China
5 widget2 Vietnam
6 widget3 Canada
7 widget1, widget3 USA
8 widget1, widget3 Japan
9 widget2 Germany

sample dataframe

我想知道每个小部件在“类别”列中出现了多少次。此示例中的结果将是:

小部件 1 = 6,小部件 2 = 6,小部件 3 = 6,小部件 4 = 1

我可以使用 .value_counts

df["category"].value_counts()

但这只会返回完全相同的行。

enter image description here

我可以使用 value_counts 并输入每个值以进行计数,但在实际的 DataFrame 中,该列中的行和唯一值太多,使其不实用。

另外,如果一行包含两个相同的值,有没有办法不重复计算?例如,同一行中有一个“widget1,黑色 widget1,黄色 widget1”,我只想将其计为一个 widget1。

最佳答案

使用get_dummies

df.category.str.get_dummies(',').replace(0,np.nan).stack().sum(level=1)

关于python - 计算列中的唯一值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56260714/

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