You can use .str.lento get the length of the list, even if the lists are not strings:
df['EventCount'] = df['Event'].str.split("/").str.len()
Alternatively, the score you are looking for is only 1 more than the number "/"in the row, so you can add 1 to the result .str.count:
df['EventCount'] = df['Event'].str.count("/") + 1
The result obtained for any method:
Event EventCount
0 abc/def 2
1 abc 1
2 abc/def/hij 3
Timing on a slightly larger DataFrame:
%timeit df['Event'].str.count("/") + 1
100 loops, best of 3: 3.18 ms per loop
%timeit df['Event'].str.split("/").str.len()
100 loops, best of 3: 4.28 ms per loop
%timeit df['Event'].str.split("/").apply(len)
100 loops, best of 3: 4.08 ms per loop
source
share