Используйте dt.days
, чтобы получить атрибут days как целые числа.
Например:
In [14]: s = pd.Series(pd.timedelta_range(start='1 days', end='12 days', freq='3000T'))
In [15]: s
Out[15]:
0 1 days 00:00:00
1 3 days 02:00:00
2 5 days 04:00:00
3 7 days 06:00:00
4 9 days 08:00:00
5 11 days 10:00:00
dtype: timedelta64[ns]
In [16]: s.dt.days
Out[16]:
0 1
1 3
2 5
3 7
4 9
5 11
dtype: int64
В более общем плане - вы можете использовать кнопку .components
для доступа к уменьшенной форме timedelta
.
In [17]: s.dt.components
Out[17]:
days hours minutes seconds milliseconds microseconds nanoseconds
0 1 0 0 0 0 0 0
1 3 2 0 0 0 0 0
2 5 4 0 0 0 0 0
3 7 6 0 0 0 0 0
4 9 8 0 0 0 0 0
5 11 10 0 0 0 0 0
Теперь, чтобы получить атрибут hours
:
In [23]: s.dt.components.hours
Out[23]:
0 0
1 2
2 4
3 6
4 8
5 10
Name: hours, dtype: int64
Для списка некоторых.
Однако можно также хотеть посмотреть на вопрос от противолежащего угла для справедливой оценки который язык использовать.
Кроме того, Вы могли использовать C++ / CLI для слияния и собственного компонента и кода .NET.
IMO, который самый важный для маленьких загружаемых приложений - то, что для собственного кода не нужно время выполнения.NET. В то время как широкополосная связь все больше распространена совсем не, у всех есть она все же.
Некоторые люди могут быть разочарованы видеть, что Ваше приложение на 2 МБ на самом деле требует, чтобы еще 20 МБ загрузки платформы и надоедливого процесса установки работали. Если они не уверены, нужно ли им действительно Ваше приложение во-первых, они могли бы просто удалить его прежде даже дать ему попытку и обратиться к конкурирующему продукту.
Если Ваше приложение должно смочь работать без установки (т.е. если Вы не можете или не должны делать чего-то, любят, устанавливают платформу.NET), Вы не можете рассчитывать на.NET, находящуюся на машине окон (предварительная Vista). Много служебных приложений может упасть в этой категории.
я рекомендовал бы записать каждое настольное приложение в [1 112] управляемый код ..NET/C# является большой платформой, чтобы сделать так.
Мои причины:
Объем потребляемой памяти. Но если Вы не разрабатываете для сильно затрудненной мудрой памятью машины, это действительно не должна быть проблема для большинства приложений.
Если можно предоставить зависимость от стека, пойдите для.NET, современной, изящной, мощной и в результате намного более быстрой для разработки для.
, Но понимают, что Вы объединяете свое приложение в цепочку к нему - на язык и платформу при предвидении будущего, где можно хотеть выйти из этого, затем лучше думайте дважды.
Win32 является старым и неуклюжим, но он продолжает работать фактически любая версия Windows без дополнительных зависимостей, и Ваш код может быть в простом, портативном, C/C++.
+1 для того, чтобы не иметь необходимость потребовать пакета/установки.NET на целевой машине (машинах). Это - все еще большая проблема.
, Когда все машины будут иметь моно или СЕТЕВОЙ, это не будет такое грандиозное предприятие.
Две вещи, о которых я могу думать.
Защита интеллектуальной собственности. Кому-то бесконечно более трудно перепроектировать Неуправляемое приложение C++. Управляемый .NET или приложения Java могут легко декомпилироваться дело обстоит не так с Неуправляемым C++.
Скорость. C++ ближе к аппаратным средствам и имеет меньший объем потребляемой памяти как другой упомянутый комментарий. Поэтому большинство видеоигр продолжает писаться в C++ и встроенном ассемблерном коде.