簡體   English   中英

Python 分鍾到 HH:MM 轉換

[英]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')

筆記:

  1. 變量x ,雖然沒有描述性,但對於 lambdas 來說是相當標准的,在這里用於保持行短。 它代表 function 正在運行的當前系列值。
  2. 不需要 lambda。 任何標准的 function 都可以,但使用 lambda 是因為它相當標准並且是一種方便的單襯里。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM