Попытка разбить / отсортировать файл по месяцу от даты - PullRequest
0 голосов
/ 22 октября 2019

Я пытаюсь создать отдельные файлы для каждого месяца в течение нескольких лет, чтобы я мог редактировать / анализировать данные за месяцы, например, за каждый год januari и т. Д. Однако я попробовал код, который использовал для сортировки данных по идентификатору иподумал, с некоторыми изменениями, я мог бы использовать его снова. Но я пробовал несколько вещей, и это все еще не работает

Данные выглядят так:

"Datum","Rentedatum","Bedrag","Rekening","Tegenrekening","Naam","Omschrijving"
"2017-06-09","2017-06-09","20,00","Owner bank acc","3rdparty bank acc","name","Action"   

Я отредактировал их так, что они прочитали новый файл, правильныйстроки и т. д. Но я не могу заставить его читать соответствующие месяцы.

import pandas as pd
df = pd.read_csv('Mutaties.csv')
df['Datum'] = pd.to_datetime(df['Datum'], format='%Y/%m/%d')
print (df)

for id in df['Datum'].unique():
    df[
       (df['Datum'].dt.month == 1)].to_csv(f"Januari.csv")<code>

, и я пробовал это в этом формате

df[
       (df['Datum'].dt.month=='2')].to_csv(f"Februari.csv")

Datum - столбец в df который содержит дату, я также попробовал 01 вместо 1. Ничего не сработало

Дата отформатирована в 2017-09-16

Каждый раз, когда я запускаю скрипт, он выдает следующую ошибку:

AttributeError: 'Series' object has no attribute 'month'```

1 Ответ

0 голосов
/ 22 октября 2019

Добавить .dt.month ко всем строкам вместо только первых 2. То, что сказал Эрфан , сработало. Это было незадолго до .dt.month, я был глуп, если добавить только .dt. в первые 2 строки

    df[
       (df['Datum'].dt.month == 1)].to_csv(f"Januari.csv")       
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...