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())
相关推荐
一隅论数智2 天前
给AI一张“业务概念地图“:本体如何从哲学走向企业智能
大数据·人工智能·经验分享·笔记·学习·学习方法·政务
默_笙2 天前
🍙 给每个请求过安检:FastAPI 是怎么把校验写进类型注解的
python
XiHongShi20162 天前
STM32F407 RTC定时器例程,建议保存
stm32·单片机·学习
qq_426003962 天前
启动playwright录制codegen生成自动化测试脚本
python·自动化
虎头金猫2 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
长沙三为智能科技2 天前
家政小程序开发从0到上线:五阶段交付流程与验收清单
python
爱吃苹果的日记本2 天前
离散数学第六课
学习·离散数学
伞伞悦读2 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
只睡四小时2 天前
Canvas 弹道联机实战:700 行 + 固定时间步长
python·websocket·html5·游戏开发·canvas