2017-03-13 41 views
1

我有一個數據框,其中包含2列,一個是日期,另一個是浮點數。 我想補充的2中得到如下:在熊貓中添加日期至日期

Index   Date   Days   NewDate 
    0   20-04-2016  5   25-04-2016 
    1   16-03-2015  3.7   20-03-2015 

正如你可以看到,如果有小數將其轉化爲INT爲3.1 - > 4(天)。 我有一些奇怪的問題,所以我很感激任何幫助。 謝謝!

+0

轉換天進timedelta郵資,然後日期和天之間做手術。請參閱http://pandas.pydata.org/pandas-docs/stable/timedeltas.html上有關操作的文檔,他們完全是這種示例。 – plasmon360

回答

4

首先,確保Date列是DateTime對象:

df['Date'] = pd.to_datetime(df['Date']) 

然後,我們可以轉換Days列的上限爲int它和它轉換爲大熊貓Timedelta:

temp = df['Days'].apply(np.ceil).apply(lambda x: pd.Timedelta(x, unit='D')) 

可添加日期時間對象和timedeltas:

df['NewDate'] = df['Date'] + temp 
2

可以列轉換的日子timedelta並將其添加到Date列:

import pandas as pd 

df['NewDate'] = pd.to_datetime(df.Date) + pd.to_timedelta(pd.np.ceil(df.Days), unit="D") 
df 

enter image description here