Значение кадра данных Pandas меняется с даты на время - PullRequest
0 голосов
/ 24 января 2019

Я создал переменную даты и времени, и при добавлении в DataFrame она автоматически преобразуется в метку времени.как это может случиться?Кто-нибудь может какую-нибудь идею по этому поводу?

mydatetime=datetime.datetime(2019,1,22)
df_test=pd.DataFrame(columns=['datetimecol','value'])
df_test.loc[len(df_test)]=[mydatetime,12.3]
df_test
df_test.datetimecol[0]

1 Ответ

0 голосов
/ 25 января 2019

Это по замыслу. Pandas специализируется на векторизованных операциях, поддерживаемых массивами NumPy. 1 Следовательно, Pandas может хранить серии datetime в непрерывном блоке памяти, подкрепленном целочисленными (int64) значениями. Напротив, список значений datetime.datetime будет состоять из последовательности указателей на несколько различных адресов памяти.

Помимо лучшего управления памятью, pd.Timestamp поддерживает функциональность, доступную для datetime.datetime объектов, и, кроме того, полезную функциональность, специфичную для Pandas.

В общем, избегайте import datetime, если можете при использовании Панд. Мало того, что он обычно не нужен, но он также, вероятно, будет на менее эффективнее, чем работа непосредственно с pd.Timestamp объектами.


1 См. этот ответ для получения дополнительной информации о том, как именно это работает.

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