2016-06-23 13 views
1

日付の列(日時のインデックスではありません)を持つデータフレームがあります。私は、今日の日付から日付を引いた値を持つ別の列を作成したいと思います。私はベクトル化された操作としてこれを行うことができますts['days ago'] = dt.date.today() -ts['foo']ベクトル化操作としてpandas timedeltaからintへ

しかし、私はintが必要ですが、これは私にTimedeltaオブジェクトを与えます。 Timedeltaには、私にintを返す属性.daysがあります。しかし、私はベクトル減算は私にシリーズではなく、Timedeltaを与えるように、この操作をベクトル化して「日数を前にint」列にする方法を見ることができません。

rng = pd.date_range('6/1/2016', periods=10, freq='D') 
ts = pd.Series(rng, index=range(10)).to_frame() 
ts.columns = ['foo'] 
ts['days ago'] = dt.date.today() -ts['foo'] 
ts['days ago as int'] = "?" 

print ts.ix[3]['days ago'].days 
# doesn't work 
ts['days ago as int'] = ts.ix[:]['days ago'].days 
ts 

答えて

2

.apply日プロパティは、あなたにints

ts["days ago int "] = ts['days ago'].apply(lambda x:x.days) 
+0

完璧日間を取得することができます取得します。ありがとう – user3556757

関連する問題