2015-01-13 3 views
0

Спасибо за ваше терпение. Это может быть вопрос начинающих; У меня проблемы с форматами даты Pandas. Я новичок в Python Pandas; Я прочитал даты в ул формата в dataframe через:Python Pandas datetime или timestamp?

rev = pd.read_csv('review.csv', encoding='cp1252') 
rev['rev_date'] = [pd.to_datetime(date) for date in rev['rev_date']] 

print(type(rev['rev_date'])) #<class 'pandas.core.series.Series'> 
print(type(rev.rev_date[0])) #<class 'pandas.tslib.Timestamp'> 

Теперь, если я пытаюсь извлечь год из оборота через:

rev['yr'] = rev['rev_date'].map(lambda t: t.date()) 

я получаю:

AttributeError: 'str' object has no attribute 'date' 

Если rev_date является Временная метка, почему я получаю вышеуказанную ошибку?

EDIT:

rev['yr'] = rev['rev_date'].map(lambda t: t.year) 
AttributeError: 'str' object has no attribute 'year' 

Я не понимаю, почему rev_date будет Обл, когда тип показывает, что это TIMESTAMP

+0

Почему вы пытаетесь извлечь год, используя 't.date()' вместо 't.year'? – BrenBarn

+0

@BrenBarn Спасибо за примечание. Отредактировал мой вопрос. – Arun

+1

Я не могу воспроизвести это. Можете ли вы предоставить автономный пример с образцами данных? – BrenBarn

ответ

0

я заметил значение мусора в файле CSV, который вызывает исключение.

Был также в состоянии добавить рекламу от joris. Благодаря!

Смежные вопросы