我有一個數據集,格式如下。Python3,列名 - 數組 - numpy或熊貓
id A B C D E
100 1 0 0 0 0
101 0 1 1 0 0
102 1 0 0 0 0
103 0 0 0 1 1
我想將其轉換成如下:
100, A
101, B C
102, A
103, D E
我該怎麼辦呢?我嘗試過numpy argsort,但是我對Python很陌生,並且發現這很具有挑戰性。 欣賞此中的任何幫助。
python df3 = df1.set_index("cust_id").apply(lambda col: ','.join(col[lambda x: x == 1].index), axis = 1)
python df3
cust_id
1375586 ind_cco_fin_ult1
1050611 ind_cco_fin_ult1
1050612 ind_deco_fin_ult1,ind_viv_fin_ult1
dtype: object
python df2
cust_id
1375586 ind_cco_fin_ult1
1050611 ind_cco_fin_ult1
1050612 ind_ctma_fin_ult1,ind_deco_fin_ult1
dtype: object
python metrics.mapk(df2,df3,7)
0.82879818594104293
```python list1 = [['ind_cco_fin_ult1'],['ind_cco_fin_ult1'],['ind_deco_fin_ult1','ind_viv_fin_ult1']] list2 = [['ind_cco_fin_ult1'],['ind_cco_fin_ult1'],['ind_ctma_fin_ult1 」, 'ind_deco_fin_ult1']
```
python metrics.mapk(list2,list1,7)
0.83333333333333337
謝謝你很多的幫助,我可以嘗試幾個步驟。 我想測試mapk,但應用方法似乎並沒有給我真正需要的東西。