2016-11-18 4 views
1

にわたってIは、データフレームを有する3つの変数が、合計によって基。パンダそれらの2

g_start = df.groupby('Start') 
g_start_subnet = g_start.apply(lambda x: x.groupby(['src-subnet', 'dst-subnet']).sum()) 

と私が得た::

は、私は次のように書いた

`` `

In [60]: g_start_subnet 
Out[60]: 

                   bytes 
Start  src-subnet   dst-subnet       
1476896400 ATL     ATL      5190647907 
           AWS        67442 
           AWS-CloudFront    3523866 
           AWS-EC2      10231320 
           Broadcast-255.255.255.255  550470 
           COL       25459487 
           Corvil-CNE      5130 
           DEN       68247258 
           DFB       49930518 
           DFW       109329393 
           HOU       43601191 
           IND       97444445 
           Internal Network    2295849 
           Internet      72555057 
           JES       64789642 
           LAF       30442304 
           LOU       27372802 
           MGO       307340 
           Multicast-224.0.0.0   25339730 
           NOL       49526023 
           Private-10.0.0.0   814280925 
           Private-172.16.0.0   9348122 
           Private-192.168.0.0   8907521 
           SAT       43590577 
           SCI       2473674 
           WMSApp      74085307 
           WMSDB       9604726 
      AWS     ATL        78309 
      AWS-CloudFront  ATL       10026686 
           HOU        9285 
...                ... 
1477497600 Private-10.0.0.0 Internet      90581028 
           Link-169.254.0.0     276 
           Private-10.0.0.0   159103776 
           Private-192.168.0.0   60724723 
           WMSApp       1100 
      Private-100.64.0.0 ATL       1304731 
      Private-192.168.0.0 ATL        77031 
           Internet       926 
           Multicast-224.0.0.0   238220 
           Private-10.0.0.0    19320 
           Private-192.168.0.0   393982 
      SAT     ATL       18278815 
           AWS-EC2       28380 
           Internet      42773386 
           Private-10.0.0.0    8030664 
           Private-172.16.0.0    230389 
           Private-192.168.0.0   5938773 
      SCI     ATL       2055407 
           Internet       900 
           Multicast-224.0.0.0    256 
      Solace-Servers  Broadcast-255.255.255.255  153438 
      WMSApp    ATL       95861882 
           AWS-EC2       360 
           DFB        3066 
           DFW        9000 
           Internet       3330 
           Multicast-224.0.0.0   31292117 
           Private-10.0.0.0     1022 
      WMSDB    ATL       8678562 
           Internet       2160 

にはどうすればマルチインデックスを削除し、データフレームのような行列を得る知ることができますか?

最終的な結果は、列Start, bytes, src-subnet, dst-subnet

+0

感謝。コードの残りの部分は問題ないと思いますか? – Donbeo

+0

出力が 'print(df.groupby(['開始'、 'src-subnet'、 'dst-subnet']、as_index = False).sum())と同じであるかどうかを確認してください。 – jezrael

答えて

2

私はあなたが使用することができると思いを持っている必要があります。

g_start_subnet = g_start_subnet.reset_index() 

しかし、おそらくより良い使用である:それは働いて

print (df.groupby(['Start', 'src-subnet', 'dst-subnet'], as_index=False).sum()) 
関連する問題