У меня есть несколько номеров ID (индекс df) с информацией о результатах теста.Каждый тест состоит из дополнительных тестов.Все оценки SubTest находятся в одном и том же поле, и есть другое поле, в котором указывается тип теста (т.е. разделитель).Скажем, например, у меня есть GRE.GRE имеет три подтеста: словесный, аналитический и количественный.Одно поле имеет тип теста (GRE), а другое поле имеет значения баллов теста в одном поле (GRE Verbal 156.0 / 170.0 GRE Analytical Writing 4.5 / 6.0 GRE Quantitative 157.0 / 170.0).Есть несколько других тестов в этом наборе данных той же структуры.Я хочу использовать столбец «Тип теста», чтобы выступать в качестве разделителя метода .split в поле «Значения оценки теста» и иметь параметр «развернуть = Истина», но он никогда не работает ... Я получаю ошибку ключа.
Я испробовал много разных подходов (многие из них были из похожих вопросов о стековом потоке, которые точно не соответствуют моей проблеме):
1.)
df[['Score1', 'Score2', 'Score3','Score4','Score5']] = [x.split(df['Delimiter'], n = 5, expand=True) for x in df['Test Score Values']]
Это привело к «KeyError: Delimiter»
2.)
df[['Score1', 'Score2', 'Score3','Score4','Score5']] = df.apply(lambda x: x['Test Score Values'].str.split(df['Delimiter'], n = 5, expand=True))
Это привело к «KeyError: (« Значения оценки теста »,« произошло с идентификатором индекса »)»
3.)
df[['Score1', 'Score2', 'Score3','Score4','Score5']] = df['Test Score Values'].split(df['Delimiter'], n = 5, expand=True)
В результате «AttributeError: у объекта« Series »нет атрибута split»
4.)
df['Test Score Values'].apply(lambda x: x.split(x['Delimiter'],expand=True))
Это привело к "TypeError: строковые индексы должны быть целыми числами"
Я продолжаю получать ошибки, но то, что я хотел бы получить, в соответствии с примером GRE в начале - это нечто вроде строки.
ID Delimiter TestScoreValues
1 GRE GRE Verbal 156.0/170.0 GRE Analytical Writing 4.5/6.0 GRE Quantitative 157.0/170.0
Score1 Score2 Score 3
Verbal 156.0/170.0 Analytical Writing 4.5/6.0 Quantitative 157.0/170.0
Затем я хотел бы разбить их дальше, но решение этого разбиения было бы хорошим первым шагом, потому что после этого я могу разделить пространство между различными баллами.
Может кто-нибудь помочьпожалуйста * * 1030