我有一个如下所示的数据集:
这是一个维护日志,文本描述了已完成的工作,其余列是组件。每个条目都是一个单独的维护项目,这是一个数据框架。
Text Engine Coolant Brakes Battery
Engine Oil changed and battery replaced. 0 0 0 0
Coolant changed. 0 0 0 0
我希望对其进行转换,以便获得如下所示的数据框:
Text Engine Coolant Brakes Battery
Engine Oil changed and battery replaced. 1 0 0 1
Coolant changed. 0 1 0 0
所以基本上我希望匹配所服务的部件并记下每个维护项目。 我尝试了一个ifelse(),但没有成功。 我只有一长串零。 感谢您的投入。
答案 0 :(得分:0)
您只需将def theme_name_processor(request):
theme_name = Configuration.objects.only('theme_name').get().theme_name
context = {'theme_name': theme_name}
return context
用于此
grepl
注意,df <- data.frame(text = c("Engine Oil changed and battery replaced.", "Coolant changed."))
df$Engine <- grepl("Engine", df$text, ignore.case = TRUE)*1
df$Coolant <- grepl("Coolant", df$text, ignore.case = TRUE)*1
df$Brakes <- grepl("Brakes", df$text, ignore.case = TRUE)*1
df$Battery <- as.numeric(grepl("Engine", df$text, ignore.case = TRUE))
返回TRUE或FALSE。 grepl
将其变为数字。我用*1
代替电池来证明这一点。如果“电池”出现两次,它仍然会返回1为TRUE。