Обычно я работаю в R, но я пытаюсь воссоздать некоторые R-скрипты на Python.Я был полусуксусным, но все еще не получал то, что мне нужно - или получал это эффективно.У меня большой набор данных об учениках, и я пытаюсь создать новый фрейм данных, выбирая только столбцы оценок, gpa и ACT для определенного класса.В RI есть
data = read.csv('path.csv', na='NULL')
dat <- subset(data, classnumber == 121 & grade != 'W' & grade != 'P')
convert_grades <- function(x) {
A <- factor(x, levels=c("A","B","C","D","F"))
values <- c(1,1,1,0,0)
values[A]
}
dataset = data.frame(convert_grades(dat$grade), dat$GPA, dat$act)
Есть две проблемы, с которыми я сталкиваюсь при попытке преобразовать это в python
1) Я не могу преобразовать буквенные оценки в 0 или 1. У меня естьбыл в состоянии преобразовать их в числовые значения на основе их расположения в алфавите, но не в формате 0 или 1.
2) Когда я подставляю свои данные в python на основе номера класса, я должен использовать
dat=dataset.loc[(data.classnumber == 121) | (data.classnumber == '121')]
, используя '121', возвращает все, кроме последних 15 строк, и только использование 121 обеспечивает тепоследние 15 строкЯ предполагаю, что последние 15 строк различного типа по какой-то причине.Есть ли способ сделать этот столбец одного типа?В RI знаю, я бы использовал
as.numeric(data$classnumber)
Любой эквивалент Python?
Любая помощь очень ценится!