[英]Pandas Dataframe set column value based on row count
我有一個名為“段”的數據框,如下所示:
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.