我有一个数据集
|c1| c2|
a c
a b
a b
c d
c a
我想获得一个频率列,以便我可以识别从c2到c1的唯一连接数 即结果应如下所示。
|c1| c2| freq|
a c 2
a b 2
a b 2
c d 2
c a 2
我将如何做到这一点?
答案 0 :(得分:1)
R
:dplyr
df%>%group_by(c1)%>%dplyr::mutate(freq=length(unique(c2)))
# A tibble: 5 x 3
# Groups: c1 [2]
c1 c2 freq
<chr> <chr> <int>
1 a c 2
2 a b 2
3 a b 2
4 c d 2
5 c a 2
python
:pandas
df['freq']=df.groupby(['c1'])['c2'].transform(lambda x: x.nunique())
df
Out[49]:
c1 c2 freq
0 a c 2
1 a b 2
2 a b 2
3 c d 2
4 c a 2