Всегда лучше перейти на простой питон, чем в зависимости от панд, так как он занимает огромное количество памяти, если список большой.
Если список имеет размер 1000, то списки, не имеющие длины 1000, будут иметь Нэн при использовании expand = True
, что является пустой тратой памяти.Попробуйте это вместо этого.
df = pd.concat([df]*1000) # For the sake of large df.
%%timeit
df.actors_list.str.replace("(u\'|[\[\]]|\')",'').str.lower().str.split(',',expand=True).stack().value_counts()
10 loops, best of 3: 65.9 ms per loop
%%timeit
df['actors_list'] = df['actors_list'].str.strip('[]').str.replace(', ',',').str.split(',')
10 loops, best of 3: 24.1 ms per loop
%%timeit
words = {}
for i in df['actors_list']:
for w in i :
if w in words:
words[w]+=1
else:
words[w]=1
100 loops, best of 3: 5.44 ms per loop