データフレームdtypeに列「delta」があります。ある日付から別の日付を外注することによって計算されたtimedelta64 [ns]です。次のコードを使用して、日数を浮動小数点数として返します。
from datetime import datetime
from datetime import date
df['days'] = float(df['delta'].days)
しかし、私はこのエラーを受け取ります:
AttributeError: 'Series' object has no attribute 'days'
何かアイデアはありますか?
日付を減算するときは、次のコードを使用する必要があります。
_df = pd.DataFrame([ pd.Timestamp('20010101'), pd.Timestamp('20040605') ])
(df.loc[0]-df.loc[1]).astype('timedelta64[D]')
_
したがって、基本的には、差し引かれた列で.astype('timedelta64[D]')
を使用します。
DataFrame列はシリーズであり、シリーズの場合、日数を計算するためにdt.accessorが必要です(新しいPandasバージョンを使用している場合)。ドキュメントを参照 here
したがって、変更する必要があります。
df['days'] = float(df['delta'].days)
に
df['days'] = float(df['delta'].dt.days)