[英]count based on column and add as new column in numpy
它應該是直截了當的,但我找不到正確的命令。 我想向我的 Numpy 添加一個新列 (Col3),它計算每一行的列值 (Col2) 的出現次數。 舉個例子:
前:
列1 | 列2 |
---|---|
1個 | 4個 |
2個 | 4個 |
3個 | 1500 |
4個 | 60 |
5個 | 60 |
6個 | 60 |
后:
列1 | 列2 | 列3 |
---|---|---|
1個 | 4個 | 2個 |
2個 | 4個 | 2個 |
3個 | 1500 | 1個 |
4個 | 60 | 3個 |
5個 | 60 | 3個 |
6個 | 60 | 3個 |
任何的想法?
使用 numpy:
根據 Col2 上的值創建頻率字典
from collections import Counter
freq = Counter(arr[:,1])
生成 Col3 的值迭代 Col2 的元素
new_col = np.array([freq[val] if val in freq else 0 for val in arr[:,1] ]).reshape(-1,1)
將新列連接到現有數組
new_arr = np.concatenate([arr, new_col],axis=1)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.