Как преобразовать непрерывные данные в категориальные в Python? - PullRequest
0 голосов
/ 27 ноября 2018

Все,

Мой набор данных выглядит следующим образом, и я хотел бы добавить один столбец, который может преобразовать мой последний столбец, т.е. Day_of_The_week, в Mon, Tue, Wed.Примечание: Day_of_the_week включает 5 дней: пн, вт, ср, четверг, пт.Я проверил ссылку , но не мог понять, как реализовать в моем фрейме данных

enter image description here

Я хотел бы преобразоватьмой pandas dataframe, как показано ниже: enter image description here

Будучи новичком в python, если вы могли бы дать объяснение, это будет здорово!

1 Ответ

0 голосов
/ 27 ноября 2018

calendar.day_name + pd.Series.map

Вы можете создать словарь и затем сопоставить целочисленный ряд со списком дневных строк:

import pandas as pd
from calendar import day_name
from collections import deque

df = pd.DataFrame({'Day_of_the_week': [2, 3, 4, 4, 5, 6, 6]})

days = deque(day_name)
days.rotate(df['Day_of_the_week'].iat[0])  # rotate days
days_map = dict(enumerate(days))           # construct dictionary

df['Day_Factor'] = df['Day_of_the_week'].map(days_map)

print(df)

   Day_of_the_week Day_Factor
0                2     Monday
1                3    Tuesday
2                4  Wednesday
3                4  Wednesday
4                5   Thursday
5                6     Friday
6                6     Friday
...