计算数据框中的日期列

http://img4.mukewang.com/62cd21780001cc9104000279.jpg

我尝试计算这些列。我需要两个新列,

  • 一个名为“开始时间”的 = 日期 + 时间

  • 一个名为“Endtime”的 = Date + Time + Timedelta

我需要它们用于python中的甘特图,问题是,那个时间可能会出现多次。任何想法如何解决这个问题?

我从数据框中将它们变红并在此处出现此错误

unsupported operand type(s) for +: 'datetime.date' and 'datetime.time'


largeQ
浏览 125回答 2
2回答

慕码人8056858

尝试使用pd.to_datetime和pd.to_timedelta:df['Starttime'] = pd.to_datetime(df['Date'].map(str) + ' ' + df['Time'].map(str))df['Endtime'] = df['Starttime'] + pd.to_timedelta(df['TimeDelta'])

慕运维8079593

首先将dates 和times 转换为字符串Series.astype,然后使用to_datetime,第二列使用to_timedelta:df = pd.DataFrame({'Date': pd.to_datetime(['06.12.2019','06.12.2019']).date,                   'Time': pd.to_datetime(['17:20:10','17:20:31']).time,                   'TimeDelta':['00:00:21','14:31:09']})df['Starttime'] = pd.to_datetime(df['Date'].astype(str) + ' ' + df['Time'].astype(str))df['Endtime'] = df['Starttime'] + pd.to_timedelta(df['TimeDelta'])print (df)         Date      Time TimeDelta           Starttime             Endtime0  2019-06-12  17:20:10  00:00:21 2019-06-12 17:20:10 2019-06-12 17:20:311  2019-06-12  17:20:31  14:31:09 2019-06-12 17:20:31 2019-06-13 07:51:40
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python