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())
相关推荐
idingzhi17 分钟前
A股量化策略日报(2026年05月22日)
android·开发语言·python·kotlin
song50124 分钟前
多卡训练加速:HCCL 集合通信实战
分布式·python·flutter·ci/cd·分类
振浩微433射频芯片34 分钟前
告别“喊破嗓”:深度解析433MHz射频在宠物训练器中的核心应用与选型
单片机·嵌入式硬件·物联网·学习·宠物
江上清风山间明月43 分钟前
如何将python开发的window应用打包成exe
开发语言·python·exe·打包
知识分享小能手1 小时前
Flask入门学习教程,从入门到精通, Flask模板 — 完整知识点与案例代码 (2)
python·学习·flask
不懒不懒1 小时前
基于 Flask —— 异步任务处理接口服务
后端·python·flask
happybasic1 小时前
Python库升级标准流程~
linux·前端·python
彦为君1 小时前
JavaSE-11-BIO/NIO/AIO(多人聊天室)
java·开发语言·python·ai·nio
恣艺1 小时前
Python 实用工具与机器学习入门:Rich + Tqdm + Faker + Schedule + Scikit-learn
python·机器学习·scikit-learn
humors2211 小时前
突破学习瓶颈:十个需要克服的障碍
大数据·学习·程序人生