Как преобразовать несколько столбцов данных даты в один столбец и сгруппировать по другому атрибуту? - PullRequest
0 голосов
/ 28 апреля 2020

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

country     1/1   1/2   1/3  1/4 .......   1/31
   A         2     4     0    5             10
   B         3     3     5    1             2
   C         4     2     6    8             3

введите описание изображения здесь

Как его преобразовать так:

введите описание изображения здесь

 country    date     number of confirmed
   A        1/1              2
   A        1/2              4
   A        1/3              0
   A        1/4              5
   ..........................
   C        1/31             3

Использование R studio или Python. Очень трудно использовать Excel вручную, чтобы изменить это, но я не знаю, как этого добиться, используя python или R.

Ответы [ 2 ]

0 голосов
/ 28 апреля 2020

Вы можете загрузить свой набор данных в pandas DataFrame и использовать pandas 'функцию поворота см. Здесь (Python)

0 голосов
/ 28 апреля 2020

В R вы можете использовать pivot_longer из dplyr

library(readr)
df <- read_table("
country     1/1   1/2   1/3  1/4
A           2     4     0    5
B           3     3     5    1
C           4     2     6    8"
)


library(dplyr)
df %>% 
  pivot_longer(cols = -country, names_to = "date", values_to = "no of confirmed")
# A tibble: 12 x 3
   country date  `no of confirmed`
   <chr>   <chr>             <dbl>
 1 A       1/1                   2
 2 A       1/2                   4
 3 A       1/3                   0
 4 A       1/4                   5
 5 B       1/1                   3
 6 B       1/2                   3
 7 B       1/3                   5
 8 B       1/4                   1
 9 C       1/1                   4
10 C       1/2                   2
11 C       1/3                   6
12 C       1/4                   8
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...