У меня есть файл CSV с данными LSAT, который я хочу использовать для извлечения информации.
Вопрос: Как разделить два кадра данных, чтобы получить правильный процент ответов для каждого вопроса?Введите '
-> Для' Тип вопроса 'в qTypeTotal: делите' Тип вопроса ' is_correct Истинное значение на' Тип вопроса 'Значение qTypeTotal
Следующий код показывает две части информации, которые мне нужно сравнить.
qTypeTotal возвращает каждый тип задаваемого вопроса и сколько раз он задавался.
correct_answers возвращает поле данных с «типом вопроса» и указанием, является ли ответ правильным или нет, заданным как True / False, а затем число раз True / False
import pandas as pd
df = pd.read_csv('C:/Users/Kenny/Downloads/logicReasoning.csv')
qTypeTotal = df['Question Type'].value_counts()
print(qTypeTotal)
df['is_correct'] = df['Your Answer'] == df['Correct Answer']
correct_answers = df.groupby(['Question Type', 'is_correct']).size()
print(correct_answers)
Попытка: DataFrame.merge
import pandas as pd
# use dtype to specify data type ex dtype={"name": str, "age": np.int32}
df = pd.read_csv('C:/Users/Kenny/Downloads/logicReasoning.csv')
qTypeTotal = df['Question Type'].value_counts()
print(qTypeTotal)
df['is_correct'] = df['Your Answer'] == df['Correct Answer']
correct_answers = df.merge(['Question Type', 'is_correct'])
print(correct_answers)
Результат:
Файл "C: \ Users \ Kenny \ Anaconda3 \ lib\ site-packages \ pandas \ core \ reshape \ merge.py ", строка 526, в init 'type {right}'. format (right = type (right)))
ValueError: невозможно объединить DataFrame с экземпляром типа
Альтернативная попытка: Я пытался преобразовать список в Pandas DateFrame
import pandas as pd
import numpy as np
df = pd.read_csv('C:/Users/Kenny/Downloads/logicReasoning.csv')
qTypeTotal = df['Question Type'].value_counts()
#print(qTypeTotal)
df['is_correct'] = df['Your Answer'] == df['Correct Answer']
correct_answers = df.groupby(['Question Type', 'is_correct']).size()
#print(correct_answers)
dframe = pd.DataFrame(np.array(qTypeTotal.reshape(50,3), columns = list('Question Type')))
print(dframe)
Результат:
Файл "C: \ Users \ Kenny \ Anaconda3 \ lib \ site-packages \ pandas \ core \ generic.py", строка 4372, в getattr возвращаемый объект. getattribute (self, name)
AttributeError: у объекта 'Series' нет атрибута 'reshape'
Некоторые источники:
https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.html
https://www.ritchieng.com/creating-dataframe-from-objects/