我有一个名为“ segments”的数据框,看起来像这样:
COL_A
0 10135
1 10135
2 10135
3 10140
4 10140
而且我想让它看起来像这样。其中,Outdegree是包含COL_A中的值的行数,因此,例如10135位于3行中,因此每行的OUTDEGREE设置为3:
COL_A OUTDEGREE
0 10135 3
1 10135 3
2 10135 3
3 10140 2
4 10140 2
这是我正在尝试但不起作用的内容:
segments['OUTDEGREE'] = len(segments[segments['COL_A'] == segments['COL_A']])
该代码将所有行加起来,并将总计加到OUTDEGREE列中
您可以将len
或'count'
与转换功能配合使用来实现
df['OUTDEGREE'] = df.groupby('COL_A')['COL_A'].transform(len)
df
或
df['OUTDEGREE'] = df.groupby('COL_A')['COL_A'].transform('count')
输出:
COL_A OUTDEGREE
0 10135 3
1 10135 3
2 10135 3
3 10140 2
4 10140 2