I have a Series in pandas consisting of empty lists.
>>> s = pd.Series( [[]] * 20, index= range(0,20) )
I want to add tags to certain elements by index.
>>> for i in [1,3,5,7,11]:
... s.loc[ i ].append('prime')
but this is what I keep getting:
>>> s
0 [prime, prime, prime, prime, prime]
1 [prime, prime, prime, prime, prime]
2 [prime, prime, prime, prime, prime]
3 [prime, prime, prime, prime, prime]
4 [prime, prime, prime, prime, prime]
5 [prime, prime, prime, prime, prime]
6 [prime, prime, prime, prime, prime]
7 [prime, prime, prime, prime, prime]
8 [prime, prime, prime, prime, prime]
9 [prime, prime, prime, prime, prime]
10 [prime, prime, prime, prime, prime]
11 [prime, prime, prime, prime, prime]
12 [prime, prime, prime, prime, prime]
13 [prime, prime, prime, prime, prime]
14 [prime, prime, prime, prime, prime]
15 [prime, prime, prime, prime, prime]
16 [prime, prime, prime, prime, prime]
17 [prime, prime, prime, prime, prime]
18 [prime, prime, prime, prime, prime]
19 [prime, prime, prime, prime, prime]
dtype: object
Which is not what I want.
I would like it to be like this:
>>> s
0 []
1 [prime]
2 []
3 [prime]
4 []
5 [prime]
6 []
7 [prime]
8 []
9 []
10 []
11 [prime]
12 []
...
I've been banging my head against the desk for an hour on this. Total pandas newb.
UPDATE
The following works as expected.
s = pd.Series( [[]] * 20, index= range(0,20) )
>>> for i in [1,3,5,7,11]:
... s.loc[ i ] = s.loc[ i ] + ['prime']
I will eventually want multiple 'tags' on each index, this is a fall back for the moment. I still would like to know why the append doesn't work.