Python/Pandas,如何填充持续时间列的缺失值



我的数据(df)有一列"duration_time";以分钟和秒为单位的值如下:
10:43

这些值的范围从5到15分钟
此列的数据类型为"对象">
此列中缺少几个值。

有没有办法用这一列的平均值来填充这些缺失的值

我尝试了不同的方法,但没有结果
df['duration_time'] = df['duration_time'].fillna(df['duration_time'].mean())
我收到了以下消息:
TypeError: can only concatenate str (not "int") to str

当我尝试计算列的平均值时:
df['duration_time'].mean()
我得到以下消息:
TypeError: can only concatenate str (not "int") to str

提前感谢您的帮助!

我认为您的系列df['duration_time']实际上不是日期时间类型。如果我这样做:

df['duration_time']=pd.Series(['10:43',None,0])
df['duration_time'].fillna(df['duration_time'].mean())

然后我可以重现你的错误。但是,如果我将该系列打包到to_datetime()中,那么您的代码可以工作:

df['duration_time']=pd.to_datetime(pd.Series(['10:43',None,0]))
df['duration_time'].fillna(df['duration_time'].mean())

最新更新