0
有以下數據幀df
計數行:我計算每ID_DATA
頻率如下如何而嵌合一些規則
df =
ID_DATA FD_1 FD_2 FD_3 FD_4 GRADE
111 23 12 34 45 1
111 23 67 45 5
111 12 67 45 23 5
222 23 55 66 4
222 55 66 4
:
freq = df.ID_DATA.value_counts().reset_index()
freq =
ID_DATA FREQ
111 3
222 2
然而,我需要改變邏輯這個計算如下。有兩個清單的FD_*
不同的值:
BaseList = [23,34]
AdjList = [12,45,67]
我需要計算這兩個列表值的出現的頻率df
。但有一些規則:
1)如果一行包含任何值FD_*
屬於AdjList
,則不應計算BaseList
。 BaseList
的計數只能在行不包含任何來自AdjList
的值時完成。
2)如果一行包含多個值BaseList
,那麼它應該計爲+1。 3)如果一行包含多個值AdjList
,那麼只應計數最後一列FD_*
。
結果應該是這一個:
ID_DATA FREQ_BaseList FREQ_12 FREQ_45 FREQ_67
111 0 0 3 0
222 1 0 0 0
的FREQ_BaseList
的值是因爲擊發規則#1的等於0 111
,。