DataFrame имеет две функции, как добавить строку, чтобы разделить их.

У меня есть DataFrame, который содержит столбец с именем feature, который может иметь более одного из них, как показано на изображении ниже row 3 & 4. Как добавить строку в DataFrame, которая разделяет две функции: enter image description here

так что для row 3 в качестве примера:

sentiment = neg
feature = screen[-1], picture quality[-1]
attribute = 
category = screen
sentence = when the screen was n't contracting or glitch...

и row 4:

sentiment = neg
feature = screen[-1], picture quality[-1]
attribute = 
category = picture quality
sentence = when the screen was n't contracting or glitch...

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

Заранее спасибо, буду очень признателен за помощь в этом.

Анализ настроения постов в Twitter с помощью Python, Tweepy и Flair
Анализ настроения постов в Twitter с помощью Python, Tweepy и Flair
Анализ настроения текстовых сообщений может быть настолько сложным или простым, насколько вы его сделаете. Как и в любом ML-проекте, вы можете выбрать...
7 лайфхаков для начинающих Python-программистов
7 лайфхаков для начинающих Python-программистов
В этой статье мы расскажем о хитростях и советах по Python, которые должны быть известны разработчику Python.
Установка Apache Cassandra на Mac OS
Установка Apache Cassandra на Mac OS
Это краткое руководство по установке Apache Cassandra.
Сертификатная программа "Кванты Python": Бэктестер ансамблевых методов на основе ООП
Сертификатная программа "Кванты Python": Бэктестер ансамблевых методов на основе ООП
В одном из недавних постов я рассказал о том, как я использую навыки количественных исследований, которые я совершенствую в рамках программы TPQ...
Создание персонального файлового хранилища
Создание персонального файлового хранилища
Вы когда-нибудь хотели поделиться с кем-то файлом, но он содержал конфиденциальную информацию? Многие думают, что электронная почта безопасна, но это...
Создание приборной панели для анализа данных на GCP - часть I
Создание приборной панели для анализа данных на GCP - часть I
Недавно я столкнулся с интересной бизнес-задачей - визуализацией сбоев в цепочке поставок лекарств, которую могут просматривать врачи и...
0
0
31
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Попробуйте использовать pandas.DataFrame.explode:

df.explode(column='feature')
Ответ принят как подходящий

Вы можете попробовать разделить значение столбца на ,, а затем взорвать столбец feature.

df['feature'] = df['feature'].str.split(', ')

# If there is not always a space after comma, use `apply` 
#df['feature'] = df['feature'].apply(lambda feature: list(map(str.strip, feature.split(','))))

df = df.explode('feature')

Спасибо Ynjxsjmh, это именно то, что я ищу

N K 23.04.2022 08:57

Просто быстрый вопрос, как мне снова последовательно расположить индекс, поскольку в настоящее время две строки имеют одинаковый номер?

N K 23.04.2022 11:39

@НК df = df.reset_index()

Ynjxsjmh 23.04.2022 14:39

Может быть, немного поздно, но попробуйте это:

features = df['feature'].str.replace(r'\[.*?\]', '', regex=True) \
                        .str.get_dummies(', ')
out = pd.concat([df, features], axis=1)
print(out)

# Output
                           feature  inexpensive  picture quality  screen
0               inexpensive[+1][a]            1                0       0
1  screen[-1], picture quality[-1]            0                1       1
2                       screen[-1]            0                0       1

Другие вопросы по теме