You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python数据类型错误排查:读取出租车轨迹数据后的类型获取问题

解决读取空格分隔文本文件时的数据类型错误问题

看起来你的问题核心是文本文件的分隔符和pandas.read_csv的默认设置不匹配,导致数据没有被正确拆分成对应列,后续获取各属性数据类型时自然会出错。咱们一步步来解决:

第一步:先确认问题根源

先运行下面的代码,看看当前数据的解析状态:

print(res.columns)
res.info()

你大概率会看到整个DataFrame只有1列,列名是第一行的taxi id date time longitude latitude——这就是因为read_csv默认用逗号作为分隔符,但你的文件是空格分隔的,所有数据都挤在了同一列里。

第二步:正确读取文件

修改read_csv的参数,指定用空格作为分隔符(支持单个或多个连续空格):

# 方法1:用正则匹配任意数量的空格
res = pd.read_csv("C:/Users/malik/Desktop/result.txt", sep='\s+', low_memory=False)

# 方法2:直接启用空白分隔模式(效果和上面一致,写法更简洁)
res = pd.read_csv("C:/Users/malik/Desktop/result.txt", delim_whitespace=True, low_memory=False)

第三步:验证解析结果

读取完成后,先确认列是否正确拆分:

res.head()

然后查看各属性的数据类型:

res.dtypes

第四步:优化时间字段解析(可选)

如果date和time列没有自动被识别为datetime类型,可以手动指定解析规则:

# 合并date和time为一个统一的datetime列
res = pd.read_csv("C:/Users/malik/Desktop/result.txt", 
                  delim_whitespace=True, 
                  low_memory=False,
                  parse_dates=[['date', 'time']])

# 或者分别将date和time解析为datetime类型
res = pd.read_csv("C:/Users/malik/Desktop/result.txt", 
                  delim_whitespace=True, 
                  low_memory=False,
                  parse_dates=['date', 'time'])

这样操作后,你就能正常获取每个属性的数据类型了。

内容的提问来源于stack exchange,提问作者Jack

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:25:25