ранжировать значения, используя список и фрейм данных

Похоже, что Django 1.3.1 по какой-то причине не применяет свойство ON DELETE CASCADE к таблице. Возможно, это может быть связано с интерфейсом MySQL-python 1.2.3, работающим в Windows. Единственный способ решить эту проблему - через пользовательский SQL .

1
задан YellowRiver 18 January 2019 в 07:47
поделиться

2 ответа

Я не уверен, что полностью понимаю ваш вопрос. Я понимаю, что у вас есть единственное значение, которое вы хотите знать, где оно занимает более длинный вектор.

#Create your data
l <- list("a" = c(1, 2), "b" =c(1, 3))
df <- data.frame(id = c("a", "b"), value = c(3, 2))

df$rankValue <- sapply(names(l), function(n) {
  combinedVector = c(l[[n]], df[which(df$id == n),"value"]) # we know the value from df is placed last

  ordering <- order(combinedVector, decreasing = TRUE) # find which order are the numbers in

  which(ordering == length(ordering)) # where (or which rank) is the last number (the input number)
})

> df
  id value rankValue
1  a     3         1
2  b     2         2
0
ответ дан KnightofniDK 18 January 2019 в 07:47
поделиться

Создайте данные для примера:

l <- list("a" = c(1, 2), "b" =c(1, 3))
df <- data.frame(id = c("a", "b"), value = c(3, 2))

.

0
ответ дан trosendal 18 January 2019 в 07:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: