私は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]
)があり、合計値は11 Windows
とNot Windows
です。 Asia/Harbin
には1のargsort値があり、3 Windows
とWindows以外のユーザーの合計が表示されます。
誰かが私に何が起こっているのか説明できますか?明らかに私は何かを誤解している。
それはその本の中で本当に紛らわしい例です) – Winand