0
環有一個多指標系列是這樣的:熊貓我如何通過多指標系列
user_id cookie browser
1 1_1 [chrome45]
2 2_1 [IE 7]
2 2_2 [IE 7, IE 8]
有兩個層次多指標本,user_id
和cookie
。值是瀏覽器。
我想要做的是統計用戶使用不同瀏覽器的次數。
因此對於這種情況下的用戶1,他只使用了1個瀏覽器。但對於用戶2,他用三種瀏覽器(IE7下不同的Cookie出現了兩次,所以我數了兩次,而不是一次),我怎麼能循環通過它
,並得到這樣的結果:
r = defaultdict(int)
for user_id in multiIndex_series:
for cookie in multiIndex_series[user_id]:
r[user_id] += len(multiIndex_series[user_id][cookie]) # I don't know how to get user_id out of the MultiIndex series
感謝這麼多的幫助!我不太明白的部分是'chain.from_iterable(x)'中的'x'。這種情況下'x'是什麼?我嘗試打印'x',我可以看到它是整個組。 'chain.from_iterable'如何具體挑選'browser'列? (因爲'groupby(...)['browser']'部分?) – Cheng
如果使用'df.groupby(level ='user_id')['browser']'然後應用某個函數,那麼在每個循環在每個組的'x'變量df ['browser']中。最好的是在'f'函數中測試'def f(x):print(x)' – jezrael
我幾乎在multiIndex.series中爲multiIndex.series.index.level [0]中的user_id做了這個操作[userid ]'。謝謝你救救我:) – Cheng