值pandas python的唯一出现次数

时间:2016-01-17 19:19:00

标签: python pandas

所以我有一个非常简单的数据框:

values
1
1
1
2
2

我想添加一个新列,并为每一行分配它的唯一出现的总和,因此该表将如下所示:

values unique_sum
1 3
1 3
1 3
2 2
2 2

我在R中看过一些例子,但是对于python和pandas,我没有遇到过任何问题而且被卡住了。我可以使用.value_counts()列出值计数,我已尝试groupby例程,但无法理解它。

1 个答案:

答案 0 :(得分:2)

只需使用value_counts将您的列映射到其>>> x A 0 1 1 1 2 1 3 2 4 2 >>> x['unique'] = x.A.map(x.A.value_counts()) >>> x A unique 0 1 3 1 1 3 2 1 3 3 2 2 4 2 2

A

(我将列values命名为values而不是valuesx.values不是列名称的绝佳选择,因为DataFrames有一个名为x['values']的特殊属性,阻止您使用**Product** : **Quantity** NF900 : 2 N1930CB : 2 N2120 : 1 NLPCR200: 2 N272 : 2获取列 - 您必须使用SPLIT(text, delimiter, [split_around_each_character])。)