Python3.6中CSV转DataFrame报错(Kaggle泰坦尼克项目)求解决方案
嘿,我来帮你排查下问题——作为数据科学新手,刚上手Kaggle项目遇到这种小坑太正常啦!咱们一步步来拆解:
问题1:初始代码的语法错误
你第一次写的代码有两个明显的语法问题,这是导致转换失败的核心原因:
- import语句格式错误:Python要求每个
import单独占一行,你把import numpy as np和import pandas as pd挤在同一行了,解释器根本无法识别。 - 变量名不一致:你定义的DataFrame变量是
titanic_df,但后面调用查看数据的代码写的是titanic.head(),变量名写错了,应该对应成titanic_df.head()。
修正后的初始代码应该是这样:
import numpy as np import pandas as pd from pandas import Series, DataFrame titanic_df = pd.read_csv('train.csv') titanic_df.head()
问题2:错误使用文件路径变量
你后来定义了正确的文件路径变量file_path,但执行pd.read_csv('file_path.csv')时犯了个典型的新手错误:你把变量名当成字符串写在引号里了!这样pandas会去寻找名为file_path.csv的文件,而不是用你之前定义的file_path变量里的真实路径。
正确的写法是直接传入变量,不要加引号:
file_path = '/Volumes/LACIE SETUP/Data_Science/Data_Analysis_Viz_InPython/Example_Projects/train.csv' titanic_df = pd.read_csv(file_path) # 现在可以正常查看数据了 titanic_df.head()
额外排查点(如果以上修正后仍报错)
要是按上面改完还是有问题,可以检查这几个细节:
- 确认
train.csv的编码格式:如果是带BOM的UTF-8编码,可添加参数指定编码:pd.read_csv(file_path, encoding='utf-8-sig') - 检查文件完整性:用文本编辑器打开
train.csv,看看第一行是不是表头,有没有乱码或格式异常 - 升级pandas版本:如果是非常老旧的pandas版本,可能对某些CSV格式支持不好,执行
pip install --upgrade pandas升级试试
内容的提问来源于stack exchange,提问作者cloudenjr
相关产品推荐
相关产品推荐

