Speed up script that calculates distribution of every character from user input
Since you are using Counter already, it should be faster to do the whole job with it:

c = Counter()
for i in range(len(df.index.values)):
    c.update(df.ix[i,'input'])

for k, v in c.items():
    print(k, v)