У меня есть pandas DataFrame, где я пытаюсь изменить одну из временных меток ячейки на другую временную метку. Однако я не получаю ожидаемого результата. Вот что у меня есть:pandas: изменение метки времени в ячейке приводит к неправильному значению
>>> df = pd.DataFrame({"d": [np.datetime64('2013-07-14T10:30:30.521Z'), np.datetime64('2013-07-21T10:30:30.521Z')]})
>>> df
d
0 2013-07-14 10:30:30.521000
1 2013-07-21 10:30:30.521000
>>> df.iloc[-1, df.columns.get_loc("d")] = np.datetime64('2013-08-29T10:30:30.521Z')
>>> df
d
0 2013-07-14 10:30:30.521000
1 1970-01-01 00:22:57.772230521
Как пример иллюстрирует, метка времени я получаю за df.loc[1, "d"]
не один я назначаю в этой ячейке. Я не понимаю этого поведения или где я ошибаюсь. Есть ли другой способ изменить значение временной метки?
Редактировать: вышеприведенный пример. Мой фактический df имеет много столбцов, а не только 1. Я использую версию pandas 0.16.1 (и не могу изменить версию).
Ваш пример кода работает, как ожидалось для меня. Какие версии pandas/numpy вы используете? – root