pandasデータフレームをSPSS形式に変換しようとしていますが、datetime64変数の変換で問題が発生します。
次のコードを使用します。
import pandas as pd
import datetime as dt
df['date1'] = (df['date'] - pd.Timestamp('1582-10-15 00:00')).astype('timedelta64[s]')
または
df['date1'] = (df['date'] - dt.datetime(1582, 10, 15)).astype('timedelta64[s]')
Out of bounds nanosecond timestamp: 1582-10-15 00:00:00
エラーが発生します。
代わりに1982を楽しく使ってみると、うまくいきます。
1582年から1970年までのエポックやUTC時間などに行くのは難しい方法があることは知っていますが、簡単な方法はありますか?どうもありがとうございました!
Timestamp
さまざまなうるう秒の処理方法の記録がなく、途中で何が起こったのかについての記録がないため、このようなはるか昔の日付で中断すると思います。したがって、発生するエラーは、最高の時間精度の内訳です。それは理にかなっている。ずっと前の日付ではそれほど正確ではないということです。
代わりにdt.datetimeを使用してください。それほどの精度は必要ありません。
import pandas as pd
import datetime as dt
epoch = dt.datetime(1582, 10, 15)
date = dt.datetime(2016, 3, 31)
int((date - epoch).total_seconds())
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加