我在带有平均时间的df中有几个列,例如"0day 00:00:21".我希望将所有列转换为日期时间格式"hh:mm:ss",不带"0天".我怎么能这样做呢?

my df

推荐答案

这个代码应该没问题

对于4列,您可以创建您想要更改的列名列表.之后,放入for循环以迭代您想要更改的所有列名.它将转换列.

column_names = ["first","second","third","fourth"]

for name in column_names:
    df[name] = df[name].dt.seconds.apply(lambda x: pd.to_datetime(x, unit='s').time())

Python相关问答推荐

当密钥是复合且唯一时,Pandas合并抱怨标签不唯一

如何比较numPy数组中的两个图像以获取它们不同的像素

难以在Manim中正确定位对象

如何使用它?

OR—Tools中CP—SAT求解器的IntVar设置值

SQLAlchemy Like ALL ORM analog

把一个pandas文件夹从juyter笔记本放到堆栈溢出问题中的最快方法?

多指标不同顺序串联大Pandas 模型

调用decorator返回原始函数的输出

dask无groupby(ddf. agg([min,max])?''''

pandas:对多级列框架的列进行排序/重新排序

搜索按钮不工作,Python tkinter

ModuleNotFoundError:没有模块名为x时try 运行我的代码''

当我定义一个继承的类时,我可以避免使用`metaclass=`吗?

Polars时间戳同步延迟计算

.awk文件可以使用子进程执行吗?

如何在Polars中处理用户自定义函数的多行结果?

如何将django url参数传递给模板&S url方法?

更新包含整数范围的列表中的第一个元素

Django REST框架+Django Channel->;[Errno 111]连接调用失败(';127.0.0.1';,6379)