gpt4 book ai didi

python - 在 Python 中将小时和分钟转换为总分钟数

转载 作者:行者123 更新时间:2023-11-28 22:32:58 27 4
gpt4 key购买 nike

我有一个 Pandas DataFrame,其中有一列以小时和分钟为单位的时间字符串(例如 1 小时 8 分钟)。有些单元只有几分钟(例如 47 分钟)。我试图从这种格式转换为总分钟数的整数值(例如 1 小时 8 分钟将是 68)。

我尝试对它进行硬编码,但由于我对 Python 比较陌生,所以遇到了麻烦。有图书馆可以帮助我解决这个问题吗?

In [10]: df_times = pd.DataFrame(times)
df_times.columns = ["times"]
df_times
Out[10]: times
0 31 mins
1 1 hour 28 mins
2 1 hour 1 min
3 1 min
... ...
22849 ERROR
22850 7 mins


In [11]: (pd.to_timedelta(df_times["times"].str.replace('mins','min')).dt.total_seconds()//60).astype(int)
ValueError: unit abbreviation w/o a number

当我使用 errors="coerce"时:

In [12]: (pd.to_timedelta(df_times["times"].str.replace('mins','min'), errors="coerce").dt.total_seconds()//60).astype(int)
ValueError: Cannot convert NA to integer

最佳答案

你可以使用pandas.to_timedelta()Series.dt.total_seconds()方法:

In [244]: df
Out[244]:
time
0 1 hour 8 mins
1 47 mins
2 10 hours 12 minutes
3 1 min

In [245]: (pd.to_timedelta(df.time.str.replace('mins', 'min'))
...: .dt.total_seconds()//60).astype(int)
...:
Out[245]:
0 68
1 47
2 612
3 1
Name: time, dtype: int32

关于python - 在 Python 中将小时和分钟转换为总分钟数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40413132/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com