我想弄清楚,如何計算某些列中的唯一值取決於另一個值。我的數據框看起來是這樣的:熊貓計數值列表的唯一值
id_user id_track
1 1
1 2
1 4
3 1
3 1
3 4
1 1
2 5
基本上我有一個表用戶和歌曲,他們聽取了ID的。我想爲每個用戶計數,他聽了多少獨特的歌曲並按此值排序。輸出應該是這樣的:
id_user uniqueTracks
1 3
3 2
2 1
我試圖做到這一點以這種方式(聽證會是我的數據框):
uniqueTracks=[] #list of numbers of unique tracks
for i in range(len(hearings['id_user'].unique())):
uniqueTracks.append(len(hearings[hearings['id_user']==i['titles'].unique()))
,但它的工作原理非常緩慢的27萬行和70K獨特的表用戶。有沒有人有一個線索如何在熊貓做到這一點?預先感謝您:)
哇!正是我想要的:)非常感謝你! 你能不能解釋一下,這裏發生了什麼?我知道你應用了一些lexsorting,但我不明白,你如何通過'a'和後面的代碼的排序值來訪問'a'?我的意思是 - 我瞭解功能,但不是它們的組合。 – tech2nick