2017-07-26 81 views
0

我從日誌分析中得到以下輸出,並希望使用熊貓來組合多臺服務器的這些輸出以確定所有服務器中每個條目的總頻率。我已將這些項目重命名爲隱私,但每個服務器上的每個服務器和每個服務器都是唯一的。頻率表中具有求和功能的組合數據幀

想知道當條目名稱匹配時,熊貓如何將頻率添加到一起。

謝謝。

6201   entry1 
63    entry2 
4    entry3 
3    entry4 
3    entry5 
2    entry6 
1    entry7 
1    entry8 
1    entry9 

回答

1

您可以使用df.groupby和應用.agg,路過sum各組總結的所有值:

df.groupby('entries').agg('sum') 

修改您的數據位:

In [610]: df 
Out[610]: 
    values entries 
0 6201 entry1 
1  63 entry2 
2  4 entry3 
3  3 entry1 
4  3 entry4 
5  2 entry3 
6  1 entry3 
7  1 entry2 
8  1 entry2 

In [611]: df.groupby('entries').agg('sum') 
Out[611]: 
     values 
entries   
entry1  6204 
entry2  65 
entry3  7 
entry4  3 

或者,直接使用.sum()

In [612]: df.groupby('entries').sum() 
Out[612]: 
     values 
entries   
entry1  6204 
entry2  65 
entry3  7 
entry4  3 
+0

應該工作。謝謝。我稍後再試,稍後再標記。 – mobone

+0

@mobone你也可以直接調用'.sum()'。 –

0

另一種方式來做到這一點:

In [121]: df 
Out[121]: 
    values entries 
0 6201 entry1 
1  63 entry2 
2  4 entry3 
3  3 entry1 
4  3 entry4 
5  2 entry3 
6  1 entry3 
7  1 entry2 
8  1 entry2 

In [122]: df.set_index('entries').sum(level=0) 
Out[122]: 
     values 
entries 
entry1  6204 
entry2  65 
entry3  7 
entry4  3