Разделение результатов анализа настроений TextBlob на два отдельных столбца – Python Pandas

from textblob import TextBlob

def sentiment_calc(text):
    try:
        return TextBlob(text).sentiment
    except:
        return None

test_df['sentiment score'] = test_df['text'].apply(sentiment_calc)
test_df

Недавно я запустил код для своего набора данных, чтобы реализовать анализ тональности с помощью пакета TextBlob. После этого мой столбец настроений имеет следующий вывод ниже (я сделал пример таблицы с фиктивными числами ниже).

 text   | sentiment score
 ------------------------
 nice   | (0.45, 4.33)
 good   | (0.45, 4.33)
 ok     | (0.45, 4.33)

И результат, который я хотел бы получить, таков: я разделяю столбец настроений на два столбца, но добавляю эти столбцы в текущий фрейм данных.

text | polarity | subjectivity
------------------------------
nice |0.45      | 0.433
good |0.45      | 0.433
ok   |0.45      | 0.433

Есть ли способ сделать это в Python 2.7?


person Leggerless    schedule 04.11.2017    source источник
comment
Пожалуйста, отредактируйте свой вопрос, чтобы показать код, который создал вашу примерную таблицу.   -  person J_H    schedule 04.11.2017
comment
Упс. Отредактировано с кодом, чтобы получить столбец настроений.   -  person Leggerless    schedule 04.11.2017
comment
Итак, я предполагаю, что test_df является pd.DataFrame?   -  person foxyblue    schedule 04.11.2017


Ответы (1)


Вот что вы хотите сделать с pandas:

sentiment_series = df['sentiment score'].tolist()

columns = ['polarity', 'subjectivity']

df = pd.DataFrame(sentiment_series, columns=columns, index=df.index)
person foxyblue    schedule 04.11.2017