python - Python 分钟到 HH:MM 转换
问题描述
我正在尝试确定将一列添加到我的 pandas 数据框中的最佳方法,该列将总分钟数(采用 int 格式)转换为 HH:MM 格式。我知道最简单的方法是使用日期时间,但我似乎无法找出将数据从系列转换为实现这一目标的最佳方法。
这是错误消息:
TypeError: unsupported type for timedelta minutes component: Series
代码(例如 346.0):
df['minutes_asleep_hm'] = str(timedelta(minutes=df['minutes_asleep']))[:-3]
类型:
Name: minutes_asleep, dtype: float64
解决方案
系列本质上是一个值列表。您需要使用map函数,它将给定的操作应用于系列中的每个元素,并将此函数的结果作为系列返回。
df['minutes_asleep_hm'] = df['minutes_asleep'].map(lambda x: str(timedelta(minutes=x))[:-3], na_action='ignore')
笔记:
- 变量
x
,虽然没有描述性,但对于 lambdas 来说是相当标准的,在这里用于保持行短。它表示函数正在操作的当前序列值。 - 不需要 lambda。任何标准函数都可以,但使用了 lambda,因为它相当标准并且是一种方便的单行。
推荐阅读
- azure - 数据从 SQL Server 数据库传输到外部 API 并返回的解决方案架构
- azure-devops - 是否可以不将 Azure 管道自托管代理绑定到用户,而是使用 SSH?
- javascript - 调用两个函数做同样的工作,只接受后来调用的函数
- reactjs - 在 Azure Web App 中部署时,NextJs App 未在 nextjs 公用文件夹中加载图像
- python - 在 pyspark 数据框中添加前缀和重置索引
- javascript - 如何在 discord.js 中改变状态?
- html - 我希望在滚动时跟随搜索栏
- networking - 谁能告诉我如何在 WSN 中使用 NS3 实现网络拓扑?
- google-apps-script - 从父文件夹中获取文件夹的名称和其中包含的文件的链接
- strapi - 如何在 Strapi 中拥有一个包含其他内容类型的所有项目的内容类型?