Antwort mit KI erzeugt
Fehlerursache verstehen
Das Hauptproblem in Ihrem Code liegt in der Art und Weise, wie Sie den Dataframe iterieren und auf Elemente zugreifen. Der Fehler 
TypeError: normalize() argument 2 must be str, not Series deutet darauf hin, dass die 
normalize Funktion einen String als zweites Argument erwartet, aber stattdessen eine pandas Series erhält.
Wenn Sie 
df_news.T.iteritems() verwenden, bekommen Sie das Transponierte des Dataframes, was bedeutet, dass Ihre Iterationsvariable 
date eigentlich die Spaltennamen (also 'Date' und 'name') und 
row die jeweiligen Werte in jeder Zeile sind.
Das Problem tritt auf, weil 
df_news.loc[date, 'name'] versucht, auf eine Zeile mit dem Index 
date (welcher tatsächlich ein Spaltenname ist) und die Spalte 
name zuzugreifen. Da 
date nicht als Index in Ihrem DataFrame existiert, gibt 
df_news.loc[date, 'name'] eine Series zurück statt eines einzelnen Wertes. Das führt dazu, dass 
normalize den Fehler wirft, da es erwartet, einen String zu erhalten, nicht eine Series.
Lösung
Um das Problem zu beheben, sollten Sie den Dataframe direkt iterieren, ohne ihn zu transponieren. Sie können 
iterrows() verwenden, um durch die Zeilen des Dataframes zu iterieren:
python
from nltk.sentiment.vader import SentimentIntensityAnalyzer
import pandas as pd
import unicodedata
# Annahme, dass df_news ein vordefinierter DataFrame mit Ihren Daten ist
sid = SentimentIntensityAnalyzer()
# Hinzufügen neuer Spalten für Sentiment Scores
df_news['compound'] = None
df_news['neg'] = None
df_news['neu'] = None
df_news['pos'] = None
for index, row in df_news.iterrows():
    try:
        sentence = unicodedata.normalize('NFKD', row['name']).encode('ascii','ignore')
        # Umwandlung byte zu str
        sentence = sentence.decode('utf-8')
        ss = sid.polarity_scores(sentence)
        df_news.at[index, 'compound'] = ss['compound']
        df_news.at[index, 'neg'] = ss['neg']
        df_news.at[index, 'neu'] = ss['neu']
        df_news.at[index, 'pos'] = ss['pos']
    except TypeError as e:
        print(row['name'])
        print(index)
        print(str(e))
# Überprüfung der Ergebnisse
print(df_news.head())
Beachten Sie die Verwendung von 
df_news.at[index, 'compound'] zum Setzen der Werte. 
set_value ist seit pandas 0.21.0 veraltet und sollte vermieden werden.
Zusätzlich wurde die Byte-Ausgabe von 
encode mit 
decode('utf-8') in einen String umgewandelt, weil 
polarity_scores einen String erwartet. Dies behebt das Formatproblem, sodass der Sentiment Analyzer korrekt mit den String-Werten arbeiten kann.