簡體   English   中英

基於列計數並添加為 numpy 中的新列

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM