Как проверить, является ли порядок в месяцах неоднозначным при выводе дат с помощью pandas.to_datetime ()? - PullRequest
0 голосов
/ 14 октября 2019

При использовании pandas.to_datetime() будет казаться, что предпочтительнее разбирать строковые даты, начиная с первого месяца.

Кажется, это будет сделано без учета языкового стандарта. Также кажется, что он игнорирует форматы других, не двусмысленных дат.

>>> import pandas
>>> import locale
>>> locale.getlocale()
('en_GB', 'UTF-8')
>>> df = pd.DataFrame(['03-04-2019', '14-04-2019'])
>>> pd.to_datetime(df[0]).dt.month
0    3
1    4
Name: 0, dtype: int64

Здесь вы можете видеть, что первая дата анализируется, как если бы первые цифры были месяцем. Это будет сделано, даже если локаль en_GB, где день - никогда в середине, а другая дата ясно показывает, что день - это первые две цифры.

Есть ли способзаставить панд предупредить, если есть неоднозначные даты, только если остальные даты не являются примером правильного формата? Кроме того, есть ли способ заставить Панд использовать формат, когда другие даты в серии ясно демонстрируют, каким должен быть порядок месяца / дня?

В сторону: Это кажется мне довольно опасным. Это не интуитивно понятно, и панды молчат об очевидной потенциальной ловушке.

1 Ответ

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

Вы можете выбрать формат. Когда вы вводите pd.to_datetime, вы можете установить аргумент 'format' => pd.to_datetime(format="%d/%m/%Y")

regards,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...