2016-10-18 72 views
0

我有一個數據幀,看起來像這樣:熊貓數據框中迭代,並增加設置問題

   name 
0 [somename1, somename2, n... 
1 [name1, someothername, ... 
2 [name, name, s... 
3 [somename1, name3, s... 
4 [name2, name2, s... 
5 [somename2, name2, s... 
6 [somename1, somename, s... 

我試圖通過數據幀進行迭代,並在數據幀的數據另存爲一組的序列。 所以我這樣做:

events = set([]) 

for index, row in datarame.iterrows(): 
    session = row['name'] 
    print len(session) 
    for x in session: 
     events.add(x) 

print events length total: 
print len(events) 

我得到作爲輸出這裏是:

24 
    80 
    15 
    60 
    76 
    66 
    83 
    32 
    100 
    73 
    13 
    3 
    2 
    9 
    57 
    2 
    2 
    4 
    1 
    events length total: 
    108 

這是沒有意義的。通常它應該添加會話中的所有內容,長度應該是上面數字的摘要,顯然不是。

回答

1

在Python set獨特元素的

無序集合。

它不允許重複。

您應該將event定義爲list

events = [] 

for index, row in datarame.iterrows(): 
    session = row['name'] 
    print len(session) 
    for x in session: 
     events.append(x) 

print events length total: 
print len(events)