Все,

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

enter image description here

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

Если вы новичок в питоне, это будет здорово!

0
biggboss2019 27 Ноя 2018 в 02:50

1 ответ

Лучший ответ

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
1
jpp 26 Ноя 2018 в 23:56