ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

ML-For-Beginners 读取课程 CSV 数据文件报 UnicodeDecodeError 怎么解决?

ML-For-Beginners 读取课程 CSV 数据文件报 UnicodeDecodeError 怎么解决? ML-For-Beginners 读取课程 CSV 数据文件报 UnicodeDecodeError 怎么解决【免费下载链接】ML-For-Beginners12 weeks, 26 lessons, 52 quizzes, classic Machine Learning for all项目地址: https://gitcode.com/GitHub_Trending/ml/ML-For-Beginners在 ML-For-Beginners 课程中几乎所有动手练习的第一步都是在 Jupyter Notebook 里用pd.read_csv()读取课程仓库自带的数据文件如 US-pumpkins.csv、nigerian-songs.csv、cuisines.csv。当系统默认编码与文件实际编码不一致时这个调用会抛出UnicodeDecodeError导致数据帧无法创建后续练习全部中断。TROUBLESHOOTING.md 的 Unicode/Encoding Errors 一节给出了官方处理方式给pd.read_csv()显式指定编码读通后用head()验证数据内容。适用场景与前提这条排查路径适用于以下情况在课程各课时的notebook.ipynb中执行pd.read_csv(...)读取课程数据 CSV报错信息包含UnicodeDecodeError数据文件本身存在于仓库中课程数据集随仓库提供例如 2-Regression、4-Classification、5-Clustering 各自的data目录。前提是 Python 环境和 pandas 已就绪。如果报的是FileNotFoundError而不是UnicodeDecodeError说明是路径问题应先用 TROUBLESHOOTING.md Data and File Path Issues 一节的方法确认 notebook 是从其所在目录启动的再回到本文处理编码问题。第一步显式指定编码课程课时中使用的标准读法是不带编码参数的例如 2-Regression/2-Data/README.md 的练习代码import pandas as pd pumpkins pd.read_csv(../data/US-pumpkins.csv) pumpkins.head()遇到UnicodeDecodeError时按 TROUBLESHOOTING.md 的 Unicode/Encoding Errors 方案改为显式指定编码# Specify encoding explicitly df pd.read_csv(file.csv, encodingutf-8)其中file.csv替换为你当前课时读取的课程数据文件的相对路径。课程各课时给出的相对路径可以直接沿用例如pumpkins pd.read_csv(../data/US-pumpkins.csv, encodingutf-8) # 2-Regression 系列 df pd.read_csv(../data/nigerian-songs.csv, encodingutf-8) # 5-Clustering/1-Visualize df pd.read_csv(../data/cuisines.csv, encodingutf-8) # 4-Classification 系列这些路径都是相对于 notebook 所在目录的这也是课程各课时 README 中给出的写法。第二步换用其他编码如果显式指定utf-8后仍报同样的错误TROUBLESHOOTING.md 给出的替代做法是尝试其他编码文档示例为latin-1# Or try different encoding df pd.read_csv(file.csv, encodinglatin-1)可选分支跳过无法解码的字符文档还给出了一个变体用errorsignore跳过有问题的字符让读取过程继续# For errorsignore to skip problematic characters df pd.read_csv(file.csv, encodingutf-8, errorsignore)注意这里同时保留了encodingutf-8与errorsignore与文档示例一致。这条分支的作用是绕过个别解码失败的字符而不是修正整个文件的编码适合只需要把练习跑起来的场景。验证是否读通编码参数改对与否以文档中课时练习既定的检查方式为准pumpkins.head()能正常打印出前五行内容说明文件已按指定编码读取成功。例如 5-Clustering/1-Visualize/README.md 在读取nigerian-songs.csv后就是用df.head()查看前几行来确认数据加载成功2-Regression/2-Data/README.md 则进一步用pumpkins.isnull().sum()检查缺失值。如果head()仍抛UnicodeDecodeError换用latin-1或errorsignore分支再试如果错误变成了FileNotFoundError问题出在路径而不是编码。排查限制与说明TROUBLESHOOTING.md 只给出上述三种编码处理写法没有列出课程每个 CSV 文件各自的实际编码具体用哪个编码需按报错逐一尝试判断。若怀疑不是编码而是数据文件缺失例如本地仓库不是最新状态可按 TROUBLESHOOTING.md Missing Data Files 一节执行git pull origin main同步仓库后再试。课程数据路径均为相对于 notebook 位置的相对路径不要在别的工作目录下运行 notebook 后再期望这些路径可用文档建议始终从 notebook 所在目录启动cd到课时目录后执行jupyter notebook。【免费下载链接】ML-For-Beginners12 weeks, 26 lessons, 52 quizzes, classic Machine Learning for all项目地址: https://gitcode.com/GitHub_Trending/ml/ML-For-Beginners创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表