Выполнение математических операций на пандах [CSV-файл]: невозможно объединить DataFrame с - PullRequest
0 голосов
/ 18 октября 2018

У меня есть файл 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/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...