Ошибка в дате при использовании функции панды для даты и времени - PullRequest
0 голосов
/ 19 мая 2018
import pandas as pd
df1 = pd.read_csv('sales.csv')
df2 = pd.read_csv('sales1.csv')
df3 = pd.read_csv('sales2.csv')
df4 = pd.read_csv('sales3.csv')
df=pd.concat([df1,df2,df3,df4])
df['Transaction date']

дает мне следующий вывод:

0     01/05/2018
1     30/04/2018
2     30/04/2018
3     25/04/2018
4     23/04/2018
5     23/04/2018
6     22/04/2018
7     22/04/2018
8     22/04/2018
9     21/04/2018
10    18/04/2018
11    18/04/2018
12    17/04/2018
13    17/04/2018
14    16/04/2018
15    15/04/2018
16    15/04/2018
17    15/04/2018
18    14/04/2018
19    14/04/2018
20    14/04/2018
21    13/04/2018
22    13/04/2018
23    13/04/2018
24    11/04/2018
25    11/04/2018
26    10/04/2018
27    09/04/2018
28    09/04/2018
29    07/04/2018

Когда я использую pd.to_datetime(), некоторые месяцы и дни меняются:

import pandas as pd
df1 = pd.read_csv('sales.csv')
df2 = pd.read_csv('sales1.csv')
df3 = pd.read_csv('sales2.csv')
df4 = pd.read_csv('sales3.csv')
df=pd.concat([df1,df2,df3,df4])
df['Transaction date'] = pd.to_datetime(df['Transaction date'])
df['Transaction date']

0    2018-01-05
1    2018-04-30
2    2018-04-30
3    2018-04-25
4    2018-04-23
5    2018-04-23
6    2018-04-22
7    2018-04-22
8    2018-04-22
9    2018-04-21
10   2018-04-18
11   2018-04-18
12   2018-04-17
13   2018-04-17
14   2018-04-16
15   2018-04-15
16   2018-04-15
17   2018-04-15
18   2018-04-14
19   2018-04-14
20   2018-04-14
21   2018-04-13
22   2018-04-13
23   2018-04-13
24   2018-11-04
25   2018-11-04
26   2018-10-04
27   2018-09-04
28   2018-09-04
29   2018-07-04

с выхода 24 до 29 месяцаи переключатель даты.Я хочу изменить столбец Transaction date на тип datetime64[ns], но хочу, чтобы мои даты были в одном формате yyyy/mm/dd.

Выше приведен формат: dd/mm/yyyy и с pd.to_datetime() он должен измениться на yyyy-mm-dd.Это работает с выходов с 0 по 23, но с выходов с 24 по 29 изменяется с dd/mm/yyyy на yyyy-dd-mm.Я хочу, чтобы все даты набирали datetime64[ns] в одном и том же формате yyyy-mm-dd.

Не могу найти решение, может кто-нибудь мне помочь?

1 Ответ

0 голосов
/ 19 мая 2018

Если вы определили формат, он, кажется, будет решен:

pd.to_datetime(df['Transaction date'], format = '%d/%m/%Y')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...