Если я правильно понимаю, ваши данные в настоящее время отформатированы следующим образом
survey1.xlsx
Лист 1 (интервьюер а)
STU-ID QUESTION 1 RESPONSE 1 QUESTION 2 RESPONSE 2
00001 tutoring? True lunch a? False
survey1.xlsx
Лист 2 (интервьюер б)
STU-ID QUESTION 1 RESPONSE 1 QUESTION 2 RESPONSE 2
00004 tutoring? True lunch a? TRUE
survey2.xlsx
Лист 1
STU-ID QUESTION 1 RESPONSE 1 Tutorer GPA
00001 improvement? True Jim 3.5
survey2.xlsx
Лист 2 (интервьюер б)
STU-ID QUESTION 1 RESPONSE 1 Tutorer GPA
00004 improvement? yes Sally 2.8
если это так, и, не зная этих данных, я бы объединил вкладки, чтобы предварительный опрос имел уникальный идентификатор студента (я не уверен, что один и тот же студент был опрошен несколькими исследователями) (если они Возможно, вам понадобится создать группу, но это звучит грязно)
Тогда я бы сделал то же самое для ответа после опроса. Затем объедините их в один фрейм данных. Из df создайте новый DF только с теми ответами, которые вам нужны (это может избавить вас от некоторых ответов).
сделать df.describe и df.dtypes
преобразовать данные так, чтобы ответы, такие как «да / нет», стали булевыми или, по крайней мере, чтобы они все имели одинаковый формат и одинаковые для числовых ответов (int64 или float64)
Наконец, я бы отказался, чтобы df следовал вашим рекомендациям по содержанию ответов из первого и второго опросов.
примечание: при наличии только 800 ответов это может быть проще сделать в Excel, если вы не знакомы с Python, вам потребуется несколько часов, чтобы достичь этого, тогда как в Excel это может занять у вас 20 минут.
Если ваша цель - выучить питона, тогда добейтесь этого
Python
import pandas as pd
df_s1s1 = pd.read_excel('survey1.xlsx', na_values="Missing", sheet_names='sheet 1', usecols=cols)
df.head()
df_s1s2 = pd.read_excel('survey1.xlsx', na_values="Missing", sheet_names='sheet 2', usecols=cols)
df_s1s2.head()
и то же самое для второго файла опроса
df_s2s1 = pd.read_excel('survey2.xlsx', na_values="Missing", sheet_names='sheet 1', usecols=cols)
df.head()
df_s2s2 = pd.read_excel('survey2.xlsx', na_values="Missing", sheet_names='sheet 2', usecols=cols)
df_s1s2.head()
чтобы добавить разные листы к одному и тому же кадру данных в виде строк, вы бы использовали что-то вроде этого
df_survey_1 = pd.concat([df_s1s1, df_s1s2])
df_survey_1.head()
то же самое для второго опроса
df_survey_2 = pd.concat([df_s2s1, df_s2s2])
df_survey_2.head()
, а затем для создания большего информационного кадра со всеми столбцами вы должны использовать что-то вроде этого
master_df = pd.merge(df_survey_1, df_survey2, left_on='STU_ID', right_on='STU_ID')
Drop NA
master_df = master_df.dropna(axis = 0, how ='any')
надеюсь, это поможет