Pandas将hh:mm:ss 转换为分钟的方法
在本文中,我们将介绍如何使用Python Pandas将hh:mm:ss格式的时间转换为分钟格式。
阅读更多:Pandas 教程
准备数据
首先,我们需要准备一个包含时间列的数据集。以下是一个假数据集的示例:
| ID | Time | 
|---|---|
| 1 | 02:13:45 | 
| 2 | 01:23:57 | 
| 3 | 00:45:23 | 
| 4 | 03:17:30 | 
我们希望将“时间”列的值从hh:mm:ss转换为分钟。
将时间列转换为时间戳
首先,我们需要将“时间”列转换为Pandas的时间戳(Timestamp)格式。我们可以使用pd.to_datetime()方法将时间列转换为Pandas时间戳格式。
import pandas as pd
data = {'ID': [1, 2, 3, 4],
        'Time': ['02:13:45', '01:23:57', '00:45:23', '03:17:30']}
df = pd.DataFrame(data)
df['Time'] = pd.to_datetime(df['Time'], format='%H:%M:%S').dt.time
这里,我们使用了format参数指定输入字符串的格式为“小时:分钟:秒”。然后,我们将返回值转换为时间格式,并将其分配回数据框的“时间”列。
将时间戳转换为分钟
现在,我们已经将“时间”列转换为时间戳格式。我们可以使用Pandas的dt属性将时间戳转换为分钟格式。以下是将时间转换为分钟的代码:
df['Time'] = df['Time'].apply(lambda x: x.hour * 60 + x.minute + x.second / 60)
在这里,我们使用了一个lambda函数来计算每个时间戳的总分钟数。我们首先将小时数乘以60(将小时数转换为分钟),然后将分钟数添加到结果中,并将秒数除以60(将秒数转换为分钟)。最后,我们将计算结果分配回数据框的“时间”列。
结果
现在,我们可以查看转换后的数据集:
| ID | Time | 
|---|---|
| 1 | 133.75 | 
| 2 | 83.95 | 
| 3 | 45.383333 | 
| 4 | 197.5 | 
我们已经成功地将所有时间值从hh:mm:ss转换为分钟。
总结
在本文中,我们介绍了如何使用Python Pandas将hh:mm:ss格式的时间转换为分钟。我们首先将时间列转换为Pandas时间戳格式,然后使用lambda函数计算总分钟数,并将结果分配回数据框的“时间”列。希望这篇文章对你有帮助!
极客教程