Просто сделайте это на всем Series
, поскольку to_datetime
может работать с аргументами, подобными массиву, и назначать непосредственно столбцу:
In [72]:
df['date'] = pd.to_datetime(df['date'])
df.info()
Int64Index: 5 entries, 0 to 4
Data columns (total 1 columns):
date 5 non-null datetime64[ns]
dtypes: datetime64[ns](1)
memory usage: 80.0 bytes
In [73]:
df
Out[73]:
date
index
0 2015-02-01 00:46:28
1 2015-02-01 00:59:56
2 2015-02-01 00:16:27
3 2015-02-01 00:33:45
4 2015-02-01 13:48:29
Если вы изменили свой цикл на это, work:
In [80]:
for i in df.index:
df.loc[i,'date']=pd.to_datetime(df.loc[i, 'date'])
df
Out[80]:
date
index
0 2015-02-01 00:46:28
1 2015-02-01 00:59:56
2 2015-02-01 00:16:27
3 2015-02-01 00:33:45
4 2015-02-01 13:48:29
код стонет, потому что вы работаете с потенциально копией этой строки на df, а не с представлением, используя новые индексы , избегает этой двусмысленности
EDIT
Похоже, вы используете древнюю версию панд, следующее должно работать:
tt[1].apply(lambda x: x.hour)
Как Вы знаете, что Ваши непарные программисты больше эффективны? Я иногда думаю, что единственное/парное сопоставимо со старой сказкой кролика и черепахи.
Соединение не дрейфует прочь в дни контрпродуктивной работы. Я понятия не имею о том, как часто я видел, что разработчики проводят недели, работая над материалом, который позже оказывается замененным чем-то намного более простым. Единственный программист "в зоне" часто делает глупые вещи. Просто слишком легко произвести слишком много код, когда то, что Вы хотите, является большим количеством перфорации с меньшим количеством кода.
И в потомстве, когда пыль обосновывается, Вы находите сотни, если не тысячи строк кода, которые, возможно, были не записаны , потому что кто-то не сделал , знают о библиотеке X или технике Y. Соединение улучшается эта проблема, но не удаляет ее. Это поощряет обоих человек и пару проводить больше исследования прежде, чем погрузиться в бессмысленную эйфорию кода.
мне жаль, что я не смог соединиться больше....
Предпосылка - то, что Ваша производительность более чем удваивается. Часть усиления понята сразу же (например, прежде чем в коде зарегистрируются), и часть понята далее на, когда существует меньше ошибок и отказов.
, Когда я учу студентов с опытом двух семестров, для большинства пар , их производительность более чем удваивается, потому что они задают друг другу вопросы, и они учатся и заканчивают быстрее. Но это не универсально верно; плохо подобранная пара может занять больше времени и сделать хуже, чем более квалифицированная половина.
Чем раньше ошибка/дефект найдена, тем более дешево это для фиксации, таким образом с помощью денег для найма большего количества быстродействующих людей по сравнению с другим разработчики, собирается стоить Вам большего количества времени/денег из-за сколько прохождений от DEV до QA.
сказавший это, парное программирование не работает со всеми, некоторые разработчики не соединяются хорошо, они отвлекают друг друга, проводят все их время, борясь, и т.д.
, Если у Вас есть разработчики, которые могут соединить программу, это может быть больше тогда выгодно в конечном счете, когда Вы добавляете в большем количестве удобного в сопровождении кода, более низкие дефекты так меньше времени в QA, и самое главное если один из разработчиков поражен шиной, Вы не должны ожидать кого-то для подхождения к скорости на проекте прежде больше, работа может быть сделана на нем.
, Если Ваши разработчики не могут соединить программу, не вынуждают их в него, все, что Вы собираетесь сделать, напрасно тратят время и деньги.
Парное программирование может быть удивительно эффективным, однако Вы не должны нанимать программистов в парах. Вы не можете вынудить разработчиков к парной программе. Это только работает, когда два разработчика нажимают и решают, что могут учиться друг от друга и создать что-то потрясающее вместе. Мой совет состоит в том, чтобы нанять в качестве многих самых умных разработчиков, можно найти и поместить их в установку, которая естественно предоставляет себя ободрительному парному программированию с частичной занятостью. Разработчики должны быть в состоянии кодировать один, но также и говорить с другими в команде об этом.
Нахождение правильного соединения, которое работает на Вас и Вашу компанию, будет большим количеством искусства, чем наука и конечно не что-то, что можно сделать путем слепого следования требованиям некоторой опубликованной методологии.
Тем не менее, чем больше ошибок Вы давите, прежде чем в них когда-либо зарегистрируются, тем больше Вы сохраняете в конечном счете. Наличие другого разработчика, наблюдающего, поскольку Вы проектируете что-то, всегда будет более эффективным, чем наличие черного ящика тестера это позже. Я назвал бы это деньгами хорошо потраченный.
На работе мы используем пару, программирующую все время. Прием должен знать, какие задачи должны быть сделаны в паре и который был бы "пустой тратой времени", если сделано двумя разработчиками. Эмпирическое правило - то, что задачи, которые являются большим количеством ориентированного исследования (т.е. POCs & скачки), должен быть сделан в парах, а также разработке новых возможностей (так, чтобы знание существовало больше чем в одном уме). Задачи, которые являются большим количеством mundain, таким как установка сервера CI или замена дополнительных значков, сделаны единственным разработчиком. Другим фактором является текущая доступность членов команды и текущие задачи, которые будут сделаны при том повторении.
Это не означает дважды стоимость, если бы это берет меньше, чем 1/2 время, это взяло бы с одним dev. Я думаю на трудных или задачах низкого уровня, это было бы полезно. Я нахожу, что это стоит того, потому что у Вас есть кто-то для высказывания "нет, не делайте ЭТОГО!" задолго до того, как это заканчивается в производственном коде, где это будет ДЕЙСТВИТЕЛЬНО стоить Вам времени и денег.
я записал операционные системы и вещи той природы, где это было неоценимо, что кто-то сидел рядом со мной для проверения моей логики дважды.
Нет, Вы не делаете. Каждый программист все еще получает точно одну зарплату.
Вы думаете, что Ваши программисты не будут говорить друг с другом, если Вы не назовете его "программированием пары"? Вы думаете, программируя, совершенно parallelizable?
С парным программированием Вы объединяетесь:
Вы не получите так большой доход от инвестиций, легче, чем это.
С другой стороны, Вы не должны использовать его для всех задач.
Хотя я соглашаюсь с большей частью ответа до сих пор о программировании пары, являющемся хорошей вещью, я буду играть защитника дьявола и утверждать, что это не всегда имеет смысл.
, Когда Вы соединяетесь, Вы не получаете программиста, это получено дважды мозги. Вы получаете программиста, который это объединение из обоих из Ваших мозгов. Так в основном любое время, что я завинчиваю и мой партнер, ловит или находит некоторый путь лучше, это плюс. Однако любое время, когда я пишу правильный код самостоятельно, является пустой тратой денег, так как мой партнер не был необходим.
В основном, необходимо оценить код, Вы продолжаете работать. Простые задачи обычно не стоят денег, чтобы заплатить кому-то, чтобы находиться через плечо и удостовериться, что Вы записали Ваш для цикла правильно. Однако в некотором пороге, задачи являются сложными достаточно для создания короля для пары, программирующей допустимый.
Мы используем этот подход в нашей компании, но только для трудных задач или когда Вы не уверены в чем-то, кто-то еще уже продолжил работать, который я верю работам очень хорошо. Это сохраняет Вас застревающий в колеи и способности возвратить идеи от людей в случае необходимости в то время как все еще способность работать независимо на самые простые задачи.
я также полагаю, что это более выгодно, чем обзор кода, который является чем-то еще, что мы делаем, где я работаю. Часто трудно знать полностью, что продолжается при выполнении обзора кода, не обеспечивая значительный контекст, в которой точке у Вас не всегда есть время для размышления обо всем in's и out's. Парное программирование дает Вам, что контекст от запуска и позволяет Вам проводить больше времени, думая о пограничных случаях, которые могут или не могут вызвать проблемы.
Если Вы не очень крошечный магазин, Вы, вероятно, уже платите зарплаты двух программистов. Парное программирование является просто способом (теоретически) вытащить более отлаженное и рабочее программное обеспечение из тех двух за то же количество времени.
Опыт управления качеством от других многих отраслей промышленности учит нас, что дефектное предотвращение является более дешевым в конечном счете, чем дефектное обнаружение (также известный как QA) и последующая фиксация.
Они также узнали, что длительный период располагается в большинстве случаев с 1 до 2 лет, что означает, что Ваши инвестиции окупаются после этого. При полагании, что инвестиции в том масштабе, как обычно ожидают, достигнут повреждения даже после 4 лет, это довольно хорошо!
Проблема состоит в том, что другим отраслям промышленности потребовались несколько десятилетий для накопления достаточного количества данных для способности доказать что дело обстоит так для них. Можно легко найти, что данные поддерживают их заключение и делают вывод для программного обеспечения на аналогии с этим, но с сегодняшнего дня, нет никакого доказательства для бизнеса программного обеспечения.
Однако я полагаю, что аналогичное заключение действительно: пара разработчиков и одного тестера более продуктивна, чем один разработчик и два тестера.
Если у Вас есть проблемы при выравнивании по ширине двух дорогих разработчиков, сидящих перед одним компьютером к управлению, существует много других вещей, которые помогают с дефектным предотвращением, но не являются как видимые (и поэтому раздражающий) к управлению.
Я не делал статистику - и я подозреваю, что вам будет трудно провести статистически достоверное исследование - но имейте в виду очевидную цель создания рабочего, безошибочного кода , а не просто количества кода. Хорошая пара должна быть в состоянии создать как минимум столько же правильных кодов , сколько два программиста, работающие отдельно.
Когда я программирую на лодке моего друга, у нас не всегда есть время, потому что один из нас плывет, а другой кодирует. Однако, когда мы находимся на якоре или в спокойной воде, мы можем выполнять парное программирование, и оно отлично работает.
Первое предположение, которое делается при парном программировании, состоит в том, что сюжетная карта будет стоить в два раза больше. много развиваться. Предположение неверно. И вот почему?
Из реального опыта мы наблюдали значительное снижение дефектов. Новые члены команды могут быть добавлены без замедления команды (попробуйте это с непарной командой). Для испытания одна команда оценила работу над набором карточек-историй так, как если бы шесть разработчиков разработали код по отдельности. Шести разработчикам затем сказали пару. Они выполнили работу в срок с высоким качеством. Если вы не создаете пару, вы тратите много времени на доставку с низким качеством, у вас нет возможности масштабировать и у вас слишком много знаний.
Во втором примере, по нашим оценкам, работа будет завершена в Запрашиваемое время нам потребуется команда из 4 пар до 7 пар. Мы дали себе 1 месяц на борт новых пар. Мы соединяли нового разработчика с опытным разработчиком и чередовали пары по сюжетным картам. Команда поразила качество всех результатов в запланированные сроки. Без сопряжения нельзя было бы добавить 6 разработчиков в команду из 8 разработчиков и достичь цели!
В итоге вы сэкономите деньги при сопряжении. Вам понадобится примерно столько же времени, доставка с более высоким качеством, повышение производительности команды, навыков и знаний и отсеивание мертвого леса. Ваши сбережения будут идти с устойчивым темпом и значительно меньше дефектов в способе замедлить работу команды.
Это зависит от разработчиков. К сожалению, нельзя просто соединить двух разработчиков и ожидать своевременных, качественных результатов. Не всем нравится работать в парных программах или даже работать в среде гибкой разработки. Две вещи в парном программировании, которые, я думаю, стоят того: (1) Перекрестное обучение между разработчиками; и (2) рецензирование в режиме реального времени. Перекрестное обучение поможет укрепить навыки команды в целом, а рецензирование в режиме реального времени может устранить необходимость в официальных рецензиях. За эти годы я узнал больше от своих сверстников, чем когда-либо научился на технической подготовке.
Ни за что, мужик! В компании, в которой я работаю, мы практикуем много парного программирования! это делается очень быстро и эффективно! просто попробуйте! Вы оцените это позже!
Профессор Лори Уильямс из штата Северная Каролина является главным научным руководителем в области эффективности парного программирования, она провела целый ряд исследований по этому вопросу.
Если вам нужно «официальное слово» Посетите ее список публикаций .
Ее статья: «Укрепление аргументов в пользу парного программирования» чрезвычайно известна.
Трудно сказать - я провел много времени, работая в среде с принудительным сопряжением, а также в среде с возможностью сопряжения. Код самого высокого качества, который я видел, это , а не в парной среде. Это, вероятно, больше связано с калибром и дисциплиной отдельных разработчиков. Иногда вы получаете ценность своих денег от объединения, особенно когда некоторые кодеры не являются топ-уровнями. Но если все кодеры - опытные, хорошо дисциплинированные кодеры, вы просто напрасно тратите свои деньги, если они спаривают все время.
Один тип опыта, который у меня был несколько раз, имеет огромное влияние на мою дисциплину кодирования и качество продукции, которую я производю это: носить пейджер. Когда мне приходится поддерживать систему, для которой я пишу код, это меняет то, как я кодирую. То есть я кодирую таким образом, чтобы не допустить, чтобы этот пейджер сработал. В результате получается продукт лучшего качества и, как правило, лучшее качество кода. Кодеры, которых я видел, никогда не несущие пейджер, создают код, более хрупкий. Это не то, что они могут даже понять и улучшить, пока не получат поддержку.
Это не черно-белая вещь или серебряная пуля, концепция парного программирования.
Парное программирование, как правило, чрезвычайно эффективно по разным причинам, но сделано правильно ». Это также очень утомительно (на мой взгляд, в любом случае) - это означает, что хорошая пара может создать пару программ максимум несколько часов в день. Конечно, это следует поощрять, но не предписывать и, в особенности, не предписывать на 100% времени, потому что это кажется трудным для управления (с устойчивой эффективностью и без пива в любом случае).
Таким образом, парное программирование - это только один из способов решения проблемы. и мне трудно смотреть на это с точки зрения вопроса. Вам не нужно нанимать вдвое больше разработчиков для этого. Это все равно, что задаться вопросом, стоит ли нанимать мальчика / девочку для сообщения, чтобы два сотрудника в одном отделе разговаривали друг с другом ... когда очевидное решение состоит в том, чтобы они общались друг с другом напрямую без дополнительного посланника.
но не обязательный и особенно не обязательный в 100% времени, потому что это кажется трудным для управления (с устойчивой эффективностью и без пива в любом случае).Таким образом, парное программирование - только один из способов решения проблемы, и мне трудно смотреть на это с точки зрения вопроса. Вам не нужно нанимать вдвое больше разработчиков для этого. Это все равно, что задаться вопросом, стоит ли нанимать мальчика / девочку для сообщения, чтобы два сотрудника в одном отделе разговаривали друг с другом ... когда очевидное решение состоит в том, чтобы они общались друг с другом напрямую без дополнительного посланника.
но не обязательный и особенно не обязательный в 100% времени, потому что это кажется трудным для управления (с устойчивой эффективностью и без пива в любом случае).Таким образом, парное программирование - только один из способов решения проблемы, и мне трудно смотреть на это с точки зрения вопроса. Вам не нужно нанимать вдвое больше разработчиков для этого. Это все равно, что задаться вопросом, стоит ли нанимать мальчика / девочку для сообщения, чтобы два сотрудника в одном отделе разговаривали друг с другом ... когда очевидное решение состоит в том, чтобы они общались друг с другом напрямую без дополнительного посланника.
Не то чтобы вам нужно было нанять вдвое больше разработчиков для этого. Это все равно, что задаться вопросом, стоит ли нанимать мальчика / девочку для сообщения, чтобы два сотрудника в одном отделе разговаривали друг с другом ... когда очевидное решение состоит в том, чтобы они общались друг с другом напрямую без дополнительного посланника. Не то чтобы вам нужно было нанять вдвое больше разработчиков для этого. Это все равно, что задаться вопросом, стоит ли нанимать мальчика / девочку для сообщения, чтобы два сотрудника в одном отделе разговаривали друг с другом ... когда очевидное решение состоит в том, чтобы они общались друг с другом напрямую без дополнительного посланника.Парное программирование не удваивает затраты - оно просто вдвое сокращает объем набора текста. Печатание - это не программирование. Завершение функциональности программного обеспечения - программирование. Это решение проблем. Вы не можете просто измерить это строками набранного кода. Некоторые программисты будут использовать более совершенный алгоритм, чтобы в конечном итоге набирать меньше.
Как бы вы определили соотношение цены и качества? Возможно общее время, прошедшее между началом кодирования и завершением работы функции в реальном времени?
Стоимость невыполнение пары часто не учитывается правильно: Проблема в том, что большинство людей не измеряют количество дефектов или количество дополнительного времени, затрачиваемого на исправление работы, которая изначально не была завершена должным образом - они просто измеряют время, затраченное на то, чтобы «перебросить работу через забор» в первую очередь.
Было предпринято несколько попыток измерить производительность при согласовании, но, к сожалению, это немного связано с «количеством доставленных строк кода», что является фиктивной метрикой.
Вы можете найти это исследование уместным: http://collaboration.csc.ncsu.edu/laurie/Papers/XPSardinia.PDF