Pandas, временная метка становится целой (длинной) при назначении новому фрейму данных

df1 имеет столбцы временных меток:

df1.dtypes

...
Date datetime64[ns]
...

df2 - это новый фрейм данных:

df2 = pd.DataFrame(columns=[...], index=[...])

Я перебираю строки и в какой-то момент (а) назначаю временную метку от df1 до df2:

for i, row in df1.iterrows():
    ...
    df2['Date'] = row.Date
    ...

Но после присваивания метка времени оказывается целым числом ...

type(row.Date)
# <class 'pandas.tslib.Timestamp'>

type(df2['Date'][loc-I-assigned]) 
# <type 'long'> 

Как мне решить эту проблему?


person conner.xyz    schedule 20.10.2015    source источник
comment
Какая версия панд?   -  person Andy Hayden    schedule 20.10.2015


Ответы (1)


Это ошибка pandas, и, похоже, она не будет исправлена ​​в версии 1.x, поэтому мы должны справиться с ней сами. Билет об ошибке Pandas Github

Но вы можете переделать его самостоятельно. Предположим, что серия является объектом pd.Series, вы можете series['Date'] = row.Date series['Date'] = pd.to_datetime(series['Date']) На самом деле, я думаю, что в вашем коде тоже что-то не так, df2['Date'] - это серия, но row.Date - это значение.

person Fan    schedule 28.06.2017