dataframe python преобразование в будний день из года, месяца, дня - PullRequest
0 голосов
/ 17 июня 2020

Я пытаюсь добавить новый столбец Dataframe, манипулируя другими столбцами.

import pandas as pd
import numpy as np
from pandas import DataFrame, read_csv
from pandas import read_csv
import datetime
df = pd.read_csv('PRSA_data_2010.1.1-2014.12.31.csv')
df.head()

enter image description here

Когда я пытаюсь манипулировать

df['weekday']= np.int(datetime.datetime(df.year, df.month, df.day).weekday())

Я все время получаю сообщение об ошибке «Невозможно преобразовать серию в класс int».

Кто-нибудь может сказать мне причину этого и как я могу это исправить?

Заранее спасибо !

1 Ответ

1 голос
/ 17 июня 2020

Преобразование столбцов в столбцы datetime , а затем в дни недели на Series.dt.weekday:

df['weekday'] = pd.to_datetime(df[['year', 'month', 'day']].dt.weekday

Или преобразование столбцов в столбец datetime в read_csv :

df = pd.read_csv('PRSA_data_2010.1.1-2014.12.31.csv',
                  date_parser=lambda y,m,d: y + '-' + m + '-' + d, 
                  parse_dates={'datetimes':['year','month','day']})

df['weekday'] = df['datetimes'].dt.weekday
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...