如果你得到了所有
00:00:00.000000
价值观,然后
air_time
值可能是字符串。(您可以检查
air\u时间
检查列
data.info()
。如果数据类型显示
object
然后这些值是Python对象(例如
str
s) 而不是NumPy integer数据类型。然后可以通过检查来确认它们是字符串
set(map(type, data['air_time']))
.)
如果它们是字符串,可以先使用以下命令将它们转换为int:
data['air_time'] = data['air_time'].astype(int)
如果137表示137分钟,则使用
data['air_time'] = pd.to_timedelta(data['air_time'], unit='m', errors='coerce')
另一方面,如果137表示1小时37分钟,则使用
data['air_time'] = pd.to_timedelta(
(data['air_time']//100)*60 + (data['air_time'] % 100), unit='m',
errors='coerce')
这个
unit='m'
argument
说明
pd.to_timedelta
将值解释为分钟。
例如
import pandas as pd
data = pd.DataFrame({'air_time':['137','137','126','92','352']})
data['air_time'] = data['air_time'].astype(int)
data['air_time'] = pd.to_timedelta(data['air_time'], unit='m', errors='coerce')
收益率
air_time
0 02:17:00
1 02:17:00
2 02:06:00
3 01:32:00
4 05:52:00
请注意
pd。至\u timedelta
也可以接受字符串作为输入
如果字符串包含所需的单位
例如
import pandas as pd
data = pd.DataFrame({'air_time':['137','137','126','92','352']})
data['air_time'] = data['air_time'] + ' minutes'
# air_time
# 0 137 minutes
# 1 137 minutes
# 2 126 minutes
# 3 92 minutes
# 4 352 minutes
data['air_time'] = pd.to_timedelta(data['air_time'], errors='coerce')
产生相同的结果。