Python pandas:从现有列创建日期数据框

时间:2015-07-02 19:21:26

标签: python date pandas

我有一个pandas数据框,其中包含多年的列和一个月的列。如何根据这两个列创建一个新的日期列(我可以假设一天= 15)。

我尝试了以下内容:

import pandas as pd
import numpy as np
import datetime  

df = pd.DataFrame()
df['year'] = np.arange(2000,2010)

df['mydate']= datetime.date( df['year'].apply(lambda x: int(x)) , 1 , 1)

但我收到此错误消息:

df['mydate']= datetime.date( df['year'].apply(lambda x: int(x)) , 1 , 1)   File "C:\Anaconda\lib\site-packages\pandas\core\series.py",
     

第77行,在包装中       "无法将系列转换为{0}" .format(str(转换器)))TypeError:无法将系列转换为

我不明白,因为我明确地将x转换为int。

谢谢!

1 个答案:

答案 0 :(得分:2)

您可以使用df.apply(fnc, axis=1)基于现有列构建另一列。

在你的情况下,这变为:

df = pd.DataFrame()
df['year'] = np.arange(2000,2010)
df['month'] = 6

df['date_time']= df.apply(lambda row :
                          datetime.date(row.year,row.month,15), 
                          axis=1)