我正在閱讀Wes Mckinney的數據分析Python,但是我對這個數據操作感到驚訝。你可以看到所有的程序here,但我會盡量在這裏總結一下。假設你有這樣的事情:怪異的熊貓數據操作
In [133]: agg_counts = by_tz_os.size().unstack().fillna(0)
Out[133]:
a Not Windows Windows
tz 245 276
Africa/Cairo 0 3
Africa/Casablanca 0 1
Africa/Ceuta 0 2
Africa/Johannesburg 0 1
Africa/Lusaka 0 1
America/Anchorage 4 1
...
tz
手段時區和Not Windows
,並從用戶代理的原始數據中提取Windows
是類,所以我們可以看到,有3個Windows用戶和0非Windows用戶從非洲/開羅收集到的數據。
然後,爲了得到「頂總時間區」,我們有:
In [134]: indexer = agg_counts.sum(1).argsort()
Out[134]:
tz
24
Africa/Cairo 20
Africa/Casablanca 21
Africa/Ceuta 92
Africa/Johannesburg 87
Africa/Lusaka 53
America/Anchorage 54
America/Argentina/Buenos_Aires 57
America/Argentina/Cordoba 26
America/Argentina/Mendoza 55
America/Bogota 62
...
所以在這一點上,我還以爲,根據documentation我列求和(在sum(1)
)和然後根據顯示參數的結果進行排序(通常在argsort中)。首先,我不確定這個系列中的「列」是什麼意思,因爲sum(1)
實際上是總結Not Windows
和Windows
用戶將該值保持在與其時區相同的行中。此外,我看不到argsort值與agg_counts
之間的相關性。例如,Pacific/Auckland
的「argsort值」(In[134]
)爲0,它只有11 Windows
和Not Windows
用戶的總和。 Asia/Harbin
的argsort值爲1,出現的總數爲3 Windows
,而非Windows用戶。
有人可以向我解釋那裏發生了什麼嗎?顯然我誤解了一些東西。
這是一個在這本書一個非常混亂的例子) – Winand