2016-07-07 18 views
1

私はDF欄のdateパンダ:インクリメント日時

buys['date_min'] = (buys['date'] - MonthDelta(1)) 
buys['date_min'] = (buys['date'] + timedelta(days=5)) 

でいくつかのアクションを行う必要がある。しかし、それは私が列にそれを行うことができますどのように

TypeError: incompatible type [object] for a datetime/timedelta operation

を返しますか?

私はあなたが列 datetype OD値が stringであるため、最初、列 date to_datetimeを変換する必要があると思う
+0

'type [object]'は、datetimesではない少なくともいくつかの値があることを示唆しています。 – miraculixx

答えて

3

buys['date_min'] = (pd.to_datetime(buys['date']) - MonthDelta(1)) 
buys['date_min'] = (pd.to_datetime(buys['date']) + timedelta(days=5)) 

はEDIT:

あなたはto_datetimeにパラメータformatを必要とし、その後、別の解決策がto_timedeltaであります

buys = pd.DataFrame({'date':['01.01.2016','20.02.2016']}) 
print (buys) 
     date 
0 01.01.2016 
1 20.02.2016 

buys['date']= pd.to_datetime(buys['date'],format='%d.%m.%Y') 
buys['date_min'] = buys['date'] + pd.to_timedelta(5,unit='d') 
print (buys) 
     date date_min 
0 2016-01-01 2016-01-06 
1 2016-02-20 2016-02-25 
+0

これは、エラー 'TypeError:datetime/timedelta操作のための互換性のない型[object]を返します。データは「01.01.2016、20.02.2016」のようです。 – ldevyataykina

+0

解決策を追加します。確認してください。 – jezrael

+0

'AttributeError: 'module'オブジェクトの属性に 'TimeDelta'がありません – ldevyataykina

関連する問題