Python:Pandas Dataframe - 将 mm:ss 格式的字符串时间列转换为浮点格式的总分钟数

问题描述 投票:0回答:1

假设我有一个 python 数据框,其中有一个名为“时间”的时间相关列。此列内有代表分钟和秒的字符串。例如,第一行值 125:19 表示 125 分 19 秒。它的数据类型是字符串。

我想将此值转换为新列“Time_分钟”中的总分钟数。所以 125:19 应该变成 125.316666666667,它应该是浮点数据类型。

按照类似的思路,如果值为 0:00,则相应的“Time_months”列应显示 0(浮点数据类型)。

我已经使用 lambda 和索引函数在 SQL 中完成了此操作。但是在 python 中是否有更简单/更直接的方法来做到这一点?

python dataframe time string-conversion minute
1个回答
0
投票

可能的解决方案之一,使用

.str.split

df["Converted"] = (s := df["Time"].str.split(":")).str[0].astype(float) + (s.str[1].astype(float) / 60)
print(df)

打印:

     Time   Converted
0  125:19  125.316667
1    0:00    0.000000
2    0:30    0.500000
© www.soinside.com 2019 - 2024. All rights reserved.