为什么要学pandas?

在数据处理领域,Python的pandas库就像一位”数据管家”,能帮我们轻松地读取、清洗、分析数据。CSV(逗号分隔值)是最常见的数据格式之一,很多数据文件(比如Excel导出的表格、统计报表)都能用CSV格式保存。学会用pandas读取CSV文件,是数据分析的第一步!

第一步:安装pandas

如果你的电脑还没安装pandas,需要先通过命令行安装。打开终端(Windows用”命令提示符”,Mac/Linux直接用终端),输入:

pip install pandas

提示:如果用Anaconda或Jupyter Notebook,pandas通常已经预装,直接跳过这步即可。

第二步:导入pandas库

要使用pandas,需要先在代码中导入它。通常我们会给pandas起个简短的别名pd,方便后续调用:

import pandas as pd

这行代码就像打开了”数据管家”的工具箱,接下来就可以用pd调用各种工具了。

第三步:读取CSV文件

假设我们有一个简单的CSV文件,比如叫student.csv,内容如下(你可以自己创建一个类似的文件,或者跟着例子操作):

姓名,学号,语文,数学,英语
张三,001,85,92,78
李四,002,90,88,95
王五,003,76,80,82

这个文件记录了3个学生的成绩信息,列名是姓名、学号、语文、数学、英语。

基础读取:最常用的read_csv函数

用pandas读取CSV文件只需一行代码:

# 读取CSV文件(假设文件在当前文件夹)
df = pd.read_csv('student.csv')

这里df是”DataFrame”的缩写,pandas用它来表示表格型数据(就像Excel里的工作表)。执行这行代码后,df就包含了CSV文件里的所有数据。

第四步:查看和理解数据

读取文件后,别急着分析!先看看数据长什么样、有没有问题。pandas提供了几个简单又实用的工具:

1. 查看前几行数据:head()tail()

  • df.head():显示前5行数据(默认),快速预览数据格式。
  • df.tail(3):显示后3行数据(括号里可以指定行数)。
# 显示前5行
print(df.head())

# 显示后3行
print(df.tail(3))

输出结果应该和CSV文件内容一致,能看到列名和对应的数据。

2. 查看数据基本信息:info()

info()能帮我们检查数据类型(比如数值型、字符串型)和是否有缺失值:

df.info()

输出示例:

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3 entries, 0 to 2
Data columns (total 5 columns):
 #   Column  Non-Null Count  Dtype 
---  ------  --------------  ----- 
 0   姓名     3 non-null      object
 1   学号     3 non-null      object
 2   语文     3 non-null      int64 
 3   数学     3 non-null      int64 
 4   英语     3 non-null      int64 
dtypes: int64(3), object(2)
memory usage: 248.0+ bytes
  • RangeIndex:表示行数(0-2,共3行)。
  • Non-Null Count:每列非缺失值的数量(这里都是3,说明没有缺失值)。
  • Dtype:数据类型(姓名、学号是字符串object,成绩是整数int64)。

3. 统计数值数据:describe()

如果数据中有数值列(如语文、数学),describe()能快速统计最小值、最大值、平均值等:

df.describe()

输出示例(只统计数值列):

            语文        数学        英语
count  3.000000  3.000000  3.000000
mean  83.666667  86.000000  85.000000
std    7.559289   5.163978   7.071068
min   76.000000  80.000000  78.000000
25%   80.500000  84.000000  80.500000
50%   85.000000  88.000000  82.000000
75%   87.500000  90.000000  88.500000
max   90.000000  92.000000  95.000000

第五步:处理常见问题(进阶)

如果你的CSV文件有特殊格式,比如中文乱码、分隔符不是逗号、没有表头等,pandas也能灵活应对:

1. 中文乱码:指定编码格式

如果读取时出现中文乱码,可能是文件编码和Python默认编码不一致。尝试用encoding参数指定编码:

# 常见编码:utf-8(默认)、gbk(中文Windows常用)
df = pd.read_csv('student.csv', encoding='utf-8')

2. 分隔符不是逗号:用sep参数

虽然CSV通常是逗号分隔,但有些文件可能用制表符(\t)或其他符号分隔。比如用sep='\t'读取制表符分隔的文件:

# 读取制表符分隔的文件
df = pd.read_csv('data.tsv', sep='\t')

3. 没有表头:自定义列名

如果CSV文件没有第一行表头(列名),read_csv会自动给列名编号(0,1,2…)。此时可以用names参数自定义列名:

# 假设文件没有表头,自定义列名为['姓名', '学号', '语文', '数学', '英语']
df = pd.read_csv('student.csv', header=None, names=['姓名', '学号', '语文', '数学', '英语'])

总结

通过这篇教程,你已经学会了:

  1. 安装和导入pandaspip install pandas + import pandas as pd
  2. 读取CSV文件pd.read_csv('文件名.csv')
  3. 查看数据head()/tail()预览数据,info()检查类型和缺失值,describe()统计数值
  4. 处理特殊格式:编码、分隔符、无表头等问题的解决方法

pandas读取CSV只是数据处理的开始,后续还可以学习数据筛选、清洗、合并等操作。现在,你可以尝试用自己的CSV文件练习一下,熟悉这些步骤吧!

小夜