2025-11-14 学习记录--Python-使用sklearn+检测 .csv 文件的编码+读取 .csv 文件

一、使用sklearn ⭐️

要使用 sklearn(Scikit-Learn) ,你需要先 安装 scikit-learn 库。

1、pip安装

bash 复制代码
pip install scikit-learn

如果希望升级,则:

bash 复制代码
pip install --upgrade scikit-learn

2、Anaconda安装

bash 复制代码
conda install scikit-learn

或使用 conda-forge

bash 复制代码
conda install -c conda-forge scikit-learn

3、若pipPython3 对应的 pip3

bash 复制代码
pip3 install scikit-learn

二、检测 .csv 文件的编码 ⭐️

  • 如果不检测编码直接读:👇🏻
    • 乱码 🧵
    • 列名可能变成奇怪字符 👹
    • 数值可能读不出来 🍉
  • 因此第一步必须判断编码,然后正确读取。😊

常见编码包括:🦋

  • UTF-8(最普遍)❀
  • Big5(台湾繁体中文常用)❀
  • CP950(Windows Big5)❀
  • GBK / GB2312(简体中文常用)❀
python 复制代码
import chardet
# 导入 chardet 库,用于自动检测文件编码格式

with open("train.csv", "rb") as f:
    raw_data = f.read(200000)         # 以二进制方式读取文件,读取前 200KB 数据用于判断编码(越多越准确)
    result = chardet.detect(raw_data) # 使用 chardet.detect() 自动推断编码类型和置信度

print(result)                         # 打印检测出的编码结果(包含编码名、置信度等)

输出示例: 👇🏻

python 复制代码
{'encoding': 'utf-8', 'confidence': 0.99, 'language': ''}

三、读取 .csv 文件 ⭐️

最常用的方法就是使用 pandasread_csv()

python 复制代码
import pandas as pd # 导入 pandas 库,用于读取 CSV、数据分析等操作

# 从当前目录读取 data.csv 文件,并将其内容存入 DataFrame(df)对象
# 🍍encoding="前面 检测 .csv 文件的编码"
df = pd.read_csv("data.csv", encoding="utf-8")

# 打印数据的前 5 行,用于快速查看数据结构和内容
print(df.head())

# 打印 DataFrame 中所有列名,方便了解表的结构
print(df.columns) # 输出示例:Index(['age', 'height', 'weight', 'gender'], dtype='object')
# 打印 列名列表(list 格式)[或者 🍍df.columns.tolist()]
print(list(df.columns)) # 输出示例:['age', 'height', 'weight', 'gender']
# 遍历列名
for col in df.columns:
    print(col)

# 统计每一列的缺失值(NaN)数量,用于检查数据质量
print(df.isna().sum())
相关推荐
_李小白3 分钟前
【OSG学习笔记】Day 42: OSG 动态场景安全修改
笔记·学习·安全
IT莫染7 分钟前
用脚本解放双手!我写了个WorkBuddy自动签到工具
python
H_老邪8 分钟前
Docker 学习之路-从入门到放弃:7
学习·docker·容器
d1z8889 分钟前
(十八)32天GPU测试从入门到精通-TensorRT-LLM 部署与优化day16
人工智能·python·深度学习·gpu·tensorrt
头疼的程序员10 分钟前
计算机网络:自顶向下方法(第七版)第八章 学习分享(四)
学习·计算机网络
m0_6779048411 分钟前
K8s学习
java·学习·kubernetes
qq_2837200512 分钟前
Python 面向对象编程(OOP)从入门到精通
python·oop·面对对象
|_⊙13 分钟前
红黑树 (C++)
开发语言·c++·学习
linux_map14 分钟前
大模型微调实战指南
人工智能·python·ai·策略模式
ByteCraze28 分钟前
手写高性能虚拟列表(详解!!!)
javascript·学习