2017-10-11 115 views
0

我有一個數據框有一個多指標表示碼頭集裝箱之間的通信。遍歷多指標熊貓對

Out[37]: 

sum count 
fd.cip  fd.sip  evt.host  container.name        container.image   evt.io_dir    
10.144.119.13 10.144.119.19 10.144.119.13 mesos-c6387aca-8770-40b5-b7b6-ba97de6aefa3 mesosphere/marathon:v1.5.0 write   12  1 
9.0.0.131  9.0.0.130  10.144.119.15 mesos-4988aac9-94ec-44b4-8e32-ee3de23247ce ches/kafka     write   12  1 
             mesos-5e446cc7-9f07-415b-925d-1a2dab53723c zookeeper     write   20  1 
      9.0.4.130  10.144.119.15 mesos-4988aac9-94ec-44b4-8e32-ee3de23247ce ches/kafka     write  2142  6 
         10.144.119.17 mesos-39b9f6b8-76e2-4ae2-876e-b9e32bf567a4 ches/kafka     write  2076 120 
      9.0.5.130  10.144.119.14 mesos-7655b397-2a84-4da3-bd67-c805900a9fba ches/kafka     write   692  40 
         10.144.119.15 mesos-4988aac9-94ec-44b4-8e32-ee3de23247ce ches/kafka     write   714  2 
9.0.0.132  9.0.0.131  10.144.119.15 mesos-4988aac9-94ec-44b4-8e32-ee3de23247ce ches/kafka     write   549  5 
             mesos-60f730cf-617d-4b78-b900-2e44f9c36cc6 alvarobrandon/fmone-agent write  12948  5 
      9.0.4.130  10.144.119.15 mesos-60f730cf-617d-4b78-b900-2e44f9c36cc6 alvarobrandon/fmone-agent write  9757  6 
         10.144.119.17 mesos-39b9f6b8-76e2-4ae2-876e-b9e32bf567a4 ches/kafka     write   540  6 
      9.0.5.130  10.144.119.14 mesos-7655b397-2a84-4da3-bd67-c805900a9fba ches/kafka     write   540  6 
         10.144.119.15 mesos-60f730cf-617d-4b78-b900-2e44f9c36cc6 alvarobrandon/fmone-agent write  9554  6 
9.0.0.133  9.0.0.131  10.144.119.15 mesos-338da821-3d90-4a8e-8a37-e9dc0a6f3c8f alvarobrandon/fmone-agent write  13157  4 
             mesos-4988aac9-94ec-44b4-8e32-ee3de23247ce ches/kafka     write   426  4 
      9.0.4.130  10.144.119.15 mesos-338da821-3d90-4a8e-8a37-e9dc0a6f3c8f alvarobrandon/fmone-agent write  9768  4 
         10.144.119.17 mesos-39b9f6b8-76e2-4ae2-876e-b9e32bf567a4 ches/kafka     write   360  4 
      9.0.5.130  10.144.119.14 mesos-7655b397-2a84-4da3-bd67-c805900a9fba ches/kafka     write   417  5 
         10.144.119.15 mesos-338da821-3d90-4a8e-8a37-e9dc0a6f3c8f alvarobrandon/fmone-agent write  12078  5 
9.0.0.134  9.0.4.130  10.144.119.15 mesos-f10839c4-a9cf-4f08-9f27-a6a37f6ff38e alvarobrandon/fmone-agent write  2674  30 
         10.144.119.17 mesos-39b9f6b8-76e2-4ae2-876e-b9e32bf567a4 ches/kafka     write  1574 117 

fd.cip和fd.sip分別是客戶端和服務器的IP和它們的組合是跨越數據幀獨一無二的,因爲有兩個容器之間只有一個通信信道。我想遍歷數據框獲取每個這些獨特的對的container.name。我們的目標是要達到這樣的

for each pair(fd.cip,fd.sip): 
    print fd.cip, fd.sip, container.name1, container.name2 

給從數據像這樣的例子

10.144.119.13, 10.144.119.19, mesos-c6387aca-8770-40b5-b7b6-ba97de6aefa3 
9.0.0.131, 9.0.0.130, mesos-4988aac9-94ec-44b4-8e32-ee3de23247ce, mesos-5e446cc7-9f07-415b-925d-1a2dab53723c 
9.0.0.131, 9.0.4.130, mesos-4988aac9-94ec-44b4-8e32-ee3de23247ce, mesos-39b9f6b8-76e2-4ae2-876e-b9e32bf567a4 

對此有任何解決方案?我希望我能夠很好地解釋自己。

+2

請張貼實際數據,而不是圖像。我們需要我們可以複製和過去的東西。否則,生成一個可行的例子的工作太多了。 – piRSquared

+0

對不起。我編輯了這個問題 – Brandon

回答

0

我解決了這個問題。多索引數據幀的groupby函數是我正在尋找的函數。

for idx, df_select in indexdf.groupby(level=[0,1]): 
    print idx, df_select.reset_index() 

這使我在IDX變量對IP的和數據在數據幀df_select其餘