[英]Python Minutes to HH:MM Conversion
我正在尝试确定将列添加到我的 pandas dataframe 的最佳方法,它将总分钟数(采用 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 function 将给定操作应用于系列中的每个元素,并将此 function 的结果作为系列返回。
df['minutes_asleep_hm'] = df['minutes_asleep'].map(lambda x: str(timedelta(minutes=x))[:-3], na_action='ignore')
笔记:
x
,虽然没有描述性,但对于 lambdas 来说是相当标准的,在这里用于保持行短。 它代表 function 正在运行的当前系列值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.