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())
相关推荐
徐_三岁15 小时前
Python 入门学习
java·python·学习
海上飞猪15 小时前
【Python】基础数据类型-List
python
数据门徒15 小时前
《人工智能现代方法(第4版)》 第9章 一阶逻辑中的推断 学习笔记
人工智能·笔记·学习·算法
喜欢吃燃面15 小时前
算法竞赛之排序算法
c++·学习·算法
CHANG_THE_WORLD15 小时前
Python 文件操作详解与代码示例
开发语言·数据库·python
jtymyxmz15 小时前
《Maya 2024 超级学习手册》3.4.5 实例:制作沙发模型
学习·maya
秋深枫叶红15 小时前
嵌入式第三十篇——数据结构——哈希表
数据结构·学习·算法·哈希算法
卿雪15 小时前
Redis 数据持久化:RDB和 AOF 有什么区别?
java·数据库·redis·python·mysql·缓存·golang
Chasing Aurora16 小时前
Python后端开发之旅(二)
开发语言·python·语言模型·langchain·ai编程
闲人编程16 小时前
微服务API网关设计模式
python·缓存·微服务·设计模式·系统安全·api·codecapsule