爲什麼要學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文件練習一下,熟悉這些步驟吧!

小夜