Я пытаюсь изменить кадр данных панд, который я ранее расплавил.Проблема в том, что в части var_name повторяются имена, которые я хотел бы иметь в качестве столбцов.
Вот как это выглядит в данный момент в качестве примера:
+-----------------+-----------+---------------+-----+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+------------+
| Duration_survey | Q1_gender | Q2_age | ….. | Valdidation | categories | judgements |
+-----------------+-----------+---------------+-----+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+------------+
| 657 | Male | Older than 40 | | En la variedad hay placer. | Timing - First Click | 12.085 |
| 480 | Male | 31-40 | | en la variedad esta el placer | Timing - First Click | 10.777 |
| 657 | Male | Older than 40 | | En la variedad hay placer. | Timing - Last Click | 12.085 |
| 480 | Male | 31-40 | | en la variedad esta el placer | Timing - Last Click | 10.777 |
| 657 | Male | Older than 40 | | En la variedad hay placer. | Timing - Page Submit | 12.899 |
| 480 | Male | 31-40 | | en la variedad esta el placer | Timing - Page Submit | 11.906 |
| 657 | Male | Older than 40 | | En la variedad hay placer. | Timing - Click Count | 1 |
| 480 | Male | 31-40 | | en la variedad esta el placer | Timing - Click Count | 1 |
| 657 | Male | Older than 40 | | En la variedad hay placer. | Anyways, despite the urgency it’s fraught. Just check out media #twitter’s reaction to the ambiguity around who gets to spend this money. #cdnmedia #journalism | 8 |
| 480 | Male | 31-40 | | en la variedad esta el placer | Anyways, despite the urgency it’s fraught. Just check out media #twitter’s reaction to the ambiguity around who gets to spend this money. #cdnmedia #journalism | 7 |
+-----------------+-----------+---------------+-----+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+------------+
* обратите внимание: это сокращенная версия - как показано в коде ниже, есть еще столбцы.
И это то, что я хотел бы иметь в конце на основе предыдущего примера:
+-----------------+-----------+---------------+-----+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+---------------------+----------------------+----------------------+------------+
| Duration_survey | Q1_gender | Q2_age | ….. | Valdidation | categories | Timing - First Click | Timing - Last Click | Timing - Page Submit | Timing - Click Count | judgements |
+-----------------+-----------+---------------+-----+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+---------------------+----------------------+----------------------+------------+
| 657 | Male | Older than 40 | | En la variedad hay placer. | Anyways, despite the urgency it’s fraught. Just check out media #twitter’s reaction to the ambiguity around who gets to spend this money. #cdnmedia #journalism | 12.085 | 12.085 | 12.899 | 1 | 8 |
| 480 | Male | 31-40 | | en la variedad esta el placer | Anyways, despite the urgency it’s fraught. Just check out media #twitter’s reaction to the ambiguity around who gets to spend this money. #cdnmedia #journalism | 10.777 | 10.777 | 11.906 | 1 | 7 |
+-----------------+-----------+---------------+-----+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+---------------------+----------------------+----------------------+------------+
* также количество твитов в столбце "категория" больше 1000.
Я думал, что мог бы использовать pivot, чтобы сначала получить все твиты в виде столбца, но время - первый щелчок, время - последний щелчок, время - отправка страницы, время - число щелчков - получилось бы в нужной форме, а затем я просто растаялих снова вниз, указав эти 4 связанных столбца Timing как id_vars, чтобы остаться в их форме.Но я даже не захожу так далеко - поворот не работает:
#first melt
df_clean = pd.melt(df,
id_vars=['Duration_survey', 'Q1_gender', 'Q2_age', 'Q3_country', 'Q4_level_of_study',
'Q4_level_of_study_other',
'Q5_native_lang', 'Q6_second_lang', 'Q7_english_test', 'Q8_english_test_name',
'Q8_english_test_name_other', 'Q9_english_test_time', 'Q10_english_test_result',
'Q11_IELTS_test_result',
'Q12_twitter_usage', 'Valdidation'], var_name='categories', value_name='judgements')
#clear for empty judgements
df_wo_na = df_clean.dropna(subset=['judgements'])
#pivot
df_p = df_wo_na.pivot(index=['Duration_survey', 'Q1_gender', 'Q2_age', 'Q3_country', 'Q4_level_of_study',
'Q4_level_of_study_other',
'Q5_native_lang', 'Q6_second_lang', 'Q7_english_test', 'Q8_english_test_name',
'Q8_english_test_name_other', 'Q9_english_test_time', 'Q10_english_test_result',
'Q11_IELTS_test_result',
'Q12_twitter_usage', 'Valdidation'], columns='categories', values='judgements')
Так вот, где я терплю неудачу и получаю ошибку.ValueError: Длина переданных значений равна 5202, индекс подразумевает 16
У кого-нибудь есть идеи, как решить эту проблему?
Заранее спасибо