TypeError: невозможно преобразовать datetimelike в dtype [datetime64 [s]] [duplicate]

jQuery CROSS BROWSER CUSTOM PLUGIN - $ .footerBottom ()

Или используйте jQuery, как я, и установите высоту нижнего колонтитула auto или fix , что бы вы ни хотели, он все равно будет работать. этот плагин использует селектора jQuery, чтобы заставить его работать, вам нужно будет включить библиотеку jQuery в ваш файл.

Вот как вы запускаете плагин. Импортируйте jQuery, скопируйте код этого настраиваемого плагина jQuery и импортируйте его после импорта jQuery! Это очень простой и простой, но важный.

Когда вы это сделаете, все, что вам нужно сделать, это запустить этот код:

  $. footerBottom ({target: "footer"});  // как html5 tag & lt; footer & gt ;.  // Вы можете изменить его на ваш предпочтительный «div», например, на класс «footer» //, установив цель в {target: «div.footer»}  

, нет необходимости поместите его внутри события готовности документа. Он будет работать хорошо, как есть. Он будет пересчитывать положение нижнего колонтитула при загрузке страницы и при изменении размера окна.

Вот код плагина, который вам не нужно понимать. Просто знайте, как его реализовать. Это делает для вас работу. Однако, если вам нравится знать, как это работает, просто просмотрите код. Я оставлял комментарии для вас.

  // импортировать библиотеку jQuery перед этим скриптом  

// Импортировать библиотеку jQuery перед этим скриптом / / Наш пользовательский плагин jQuery (функция ($) {$ .footerBottom = function (options) {// Или используйте «$ .fn.footerBottom» или «$ .footerBottom», чтобы вызывать его глобально напрямую из $ .footerBottom (); var defaults = {target: "footer", container: "html", innercontainer: "body", css: {footer: {position: "absolute", left: 0, bottom: 0,}, html: {position: "relative ", minHeight:" 100% "}}}; options = $ .extend (defaults, options); // JUST SET НЕКОТОРЫЕ CSS, ОПРЕДЕЛЕННЫЕ В НАСТРОЙКАХ ПО УМОЛЧАНИЮ ВЫШЕ $ (options.target) .css ({" position ": options .css.footer.position, "left": options.css.footer.left, "bottom": options.css.footer.bottom,}); $ (options.container) .css ({"position": options. css.html.position, "min-height": options.css.html.minHeight,}); function logic () {var footerOuterHeight = $ (options.target) .outerHeight (); // Получает верхнюю высоту нижнего колонтитула $ ( options.innerco ntainer) .css ('padding-bottom', footerOuterHeight + "px"); // Устанавливаем прописку, равную высоте нижнего колонтитула для элемента body $ (options.target) .css ('height', footerOuterHeight + "! Important"); // Устанавливаем externalHeight элемента footer для ... footer console.log («jQ custom plugin footerBottom run»); // Отображение текста в консоли, поэтому вы можете проверить, что он работает в вашем браузере. Удалите его, если хотите. }; // ОПРЕДЕЛЕНИЕ ПРИ РАБОТЕ ФУНКЦИИ $ (window) .on ('load resize', function () {// Запуск на странице, загруженный и по логике ();); // ВОЗВРАТЬ ОБЪЕКТ ДЛЯ СЕТИ, ЕСЛИ НУЖНО - ЕСЛИ НЕ УДАЛИТЬ // return this.each (function () {// this.checked = true; //}); // возвращаем это; }; }) (Jquery); // Конец плагина // ИСПОЛЬЗОВАНИЕ ПРИМЕР $ .footerBottom (); // Запускаем наш плагин со всеми настройками по умолчанию для HTML5 / * Установите нижний колонтитул CSS в любое удобное для него время. * / Footer {box-sizing: border-box; высота: авто; ширина: 100%; padding: 30px 0; background-color: black; белый цвет; } & lt; script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js" & gt; & lt; / script & gt; & lt;! - Структура не имеет большого значения, у вас всегда будет тег html и body, поэтому просто не забудьте указать на нижний колонтитул по мере необходимости, если вы используете html5, так как он просто не должен запускать плагин без настроек. будет работать по умолчанию с помощью & lt; footer & gt; html5 tag - & gt; & Л; тело & GT; & lt; div class = "content" & gt; & Lt; & заголовок GT; & Lt; нав & GT; & Lt; & уль GT; & Lt; & Li GT; ссылка & л; / & Li GT; & Lt; & Li GT; ссылка & л; / & Li GT; & Lt; & Li GT; ссылка & л; / & Li GT; & Lt; & Li GT; ссылка & л; / & Li GT; & Lt; & Li GT; ссылка & л; / & Li GT; & Lt; & Li GT; ссылка & л; / & Li GT; & Lt; / мкл & GT; & Lt; / нав & GT; & Lt; / заголовка & GT; & Lt; & секции GT; & Lt; р & GT; & Lt; / р & GT; & lt; p & gt; Lorem ipsum ... & lt; / p & gt; & Lt; / раздел & GT; & Lt; / дел & GT; & Lt; & сноска GT; & lt; p & gt; Copyright 2009 Ваше имя & lt; / p & gt; & lt; p & gt; Copyright 2009 Ваше имя & lt; / p & gt; & lt; p & gt; Copyright 2009 Ваше имя & lt; / p & gt; & lt; / footer & gt;

79
задан Kasramvd 5 November 2014 в 18:25
поделиться

3 ответа

Используйте функцию to_datetime , указав формат для соответствия вашим данным.

raw_data['Mycol'] =  pd.to_datetime(raw_data['Mycol'], format='%d%b%Y:%H:%M:%S.%f')
170
ответ дан atwalsh 15 August 2018 в 14:30
поделиться
  • 1
    Примечание: аргумент format не требуется. to_datetime умный. Идите и попробуйте, не пытаясь сопоставить ваши данные. – samthebrand 22 April 2017 в 18:54
  • 2
    Чтобы избежать SettingWithCopyWarning, используйте @ darth-behfans stackoverflow.com/a/42773096/4487805 – Álvaro Loza 16 October 2017 в 10:41
  • 3
    Что делать, если вам просто нужно время, а не дата? – FaCoffee 30 October 2017 в 15:45
  • 4
    Не ужасно умный. Даже если какой-то столбец однозначно находится в формате dayfirst = True, он по-прежнему будет по умолчанию для dayfirst = False для остальных в том же столбце. Таким образом, безопаснее использовать спецификацию явного формата или, по крайней мере, параметр dayfirst. – CPBL 22 April 2018 в 20:36
  • 5
    Опущение строки формата может привести к медленной работе этой операции с большим количеством записей. В этом ответе обсуждается, почему. Похоже, infer_datetime_format=True также может увеличить скорость разбора до ~ 5-10x (согласно pandas docs), если вы не включите строку формата. – atwalsh 5 May 2018 в 19:39

Вы можете использовать метод DataFrame .apply() для работы с значениями в Mycol:

>>> df = pd.DataFrame(['05SEP2014:00:00:00.000'],columns=['Mycol'])
>>> df
                    Mycol
0  05SEP2014:00:00:00.000
>>> import datetime as dt
>>> df['Mycol'] = df['Mycol'].apply(lambda x: 
                                    dt.datetime.strptime(x,'%d%b%Y:%H:%M:%S.%f'))
>>> df
       Mycol
0 2014-09-05
28
ответ дан bernie 15 August 2018 в 14:30
поделиться
  • 1
    Благодаря! Это хорошо, потому что оно более широко применимо, но другой ответ был более прямым. Мне было трудно решить, что мне понравилось лучше :) – Chris 5 November 2014 в 18:56
  • 2
    Мне нравится этот ответ лучше, потому что он создает объект datetime, а не объект pandas.tslib.Timestamp – wesanyer 7 December 2015 в 19:51
raw_data['Mycol'] =  pd.to_datetime(raw_data['Mycol'], format='%d%b%Y:%H:%M:%S.%f')

работает, однако это приводит к тому, что предупреждение Python о значении A пытается установить на копии среза из DataFrame. Попробуйте использовать .loc[row_indexer,col_indexer] = value вместо

Я бы предположил, что это связано с некоторой индексацией цепочек.

6
ответ дан Petter Friberg 15 August 2018 в 14:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: