Python 在数据帧中将浮点值转换为时间增量值

Python 在数据帧中将浮点值转换为时间增量值,python,pandas,datetime,Python,Pandas,Datetime,我想将dataframe中的某些列转换为timedelta值。 在此示例中,“第1天”、“第2天”、“第3天”列需要从浮点值转换为时间增量值(以天为单位) 我尝试使用pd.to_timedelta()函数进行转换,但出现错误arg必须是字符串、timedelta、列表、元组、1-d数组或序列 newdf[['days 1','days 2', 'days 3']] = pd.to_timedelta(newdf[['days 1','days 2','days 3']],unit = 'D')

我想将dataframe中的某些列转换为timedelta值。 在此示例中,“第1天”、“第2天”、“第3天”列需要从浮点值转换为时间增量值(以天为单位)

我尝试使用
pd.to_timedelta()
函数进行转换,但出现错误
arg必须是字符串、timedelta、列表、元组、1-d数组或序列

newdf[['days 1','days 2', 'days 3']] = pd.to_timedelta(newdf[['days 1','days 2','days 3']],unit = 'D') 
然而,当我将每一列分开时,代码运行良好

newdf['days 1'] = pd.to_timedelta(newdf['days 1'],unit = 'D')
newdf['days 2'] = pd.to_timedelta(newdf['days 2'],unit = 'D')
newdf['days 3'] = pd.to_timedelta(newdf['days 3'],unit = 'D')
我还尝试了使用
.apply()
函数,但没有成功

newdf[['days 1','days 2','days 3']] = newdf.apply(pd.to_timedelta(arg = ['days 1','days 2','days 3'],unit = 'D'))

关于如何在一行中转换数据框中的指定列,您有什么想法吗?

使用
。apply
对我很有用。您错误地将列作为参数

newdf[['days 1','days 2', 'days 3']] = newdf[['days 1','days 2','days 3']].apply(pd.to_timedelta,unit = 'D')
newdf[['days 1','days 2', 'days 3']] = newdf[['days 1','days 2','days 3']].apply(pd.to_timedelta,unit = 'D')