Python Pandas庫超詳細教程:從入門到精通實戰指南
Python——Pandas庫,超詳細教程
Pandas是Python數據分析的核心庫之一,憑借其高效的數據結構和豐富的功能,成為數據科學家和分析師的必備工具。本教程將帶你從入門到精通,掌握Pandas的核心功能,包括數據讀取、清洗、轉換、分析和可視化。
1. Pandas簡介
1.1 什么是Pandas?
Pandas是一個開源的Python庫,專為數據操作和分析設計。它誕生于2008年,由Wes McKinney開發,旨在解決Python在金融數據分析中的局限性。Pandas的名字來源于“Panel Data”(面板數據)。
- 核心功能:提供
Series和DataFrame數據結構,支持數據清洗、轉換、聚合和可視化。 - 地位:與NumPy、Matplotlib并稱Python數據分析“三劍客”。
1.2 為什么選擇Pandas?
- 高效性:針對結構化數據(如表格)優化,性能遠勝純Python代碼。
- 功能豐富:支持數據過濾、分組、聚合、合并等復雜操作。
- 生態兼容:無縫集成NumPy(數值計算)、Matplotlib(可視化)等庫。
1.3 安裝與基本配置
# 安裝
pip install pandas
# 導入與版本檢查
import pandas as pd
print(pd.__version__) # 輸出示例:2.0.3
python
運行
- 1
- 2
- 3
- 4
- 5
- 6
2. Pandas核心數據結構
2.1 Series
一維帶標簽數組,類似增強版Python列表。
# 創建Series
s = pd.Series([1, 3, 5, 7], name='numbers')
print(s.head(2)) # 輸出前兩行
python
運行
- 1
- 2
- 3
- 索引:支持自定義索引(如
s.index = ['a', 'b', 'c', 'd'])。
2.2 DataFrame
二維表格型數據結構,類似Excel表或SQL表。
# 從字典創建
data = {'Name': ['Alice', 'Bob'], 'Age': [25, 30]}
df = pd.DataFrame(data)
print(df.shape) # 輸出:(2, 2)
python
運行
- 1
- 2
- 3
- 4
- 數據加載:
df = pd.read_csv('data.csv') # 從CSV加載python運行- 1
2.3 索引與選擇數據
- 列選擇:
df['Name'] - 行選擇:
df.loc[0] # 按標簽選擇 df.iloc[0:2] # 按位置選擇python運行- 1
- 2
- 條件篩選:
df[df['Age'] > 25] # 篩選年齡大于25的行python運行- 1
3. 數據清洗與預處理
3.1 處理缺失值
# 檢測缺失值
print(df.isnull().sum())
# 填充缺失值
df.fillna(0, inplace=True) # 用0填充
python
運行
- 1
- 2
- 3
- 4
- 5
3.2 處理重復數據
df.drop_duplicates(inplace=True) # 刪除重復行
python
運行
- 1
3.3 數據類型轉換
df['Age'] = df['Age'].astype('float') # 轉換為浮點數
python
運行
- 1
3.4 數據標準化
# Z-score標準化
df['Age'] = (df['Age'] - df['Age'].mean()) / df['Age'].std()
python
運行
- 1
- 2
4. 數據操作與轉換
4.1 數據排序
df.sort_values(by='Age', ascending=False, inplace=True)
python
運行
- 1
4.2 數據分組與聚合
# 按性別分組并計算平均年齡
df.groupby('Gender')['Age'].mean()
python
運行
- 1
- 2
4.3 數據合并
# 橫向合并
pd.concat([df1, df2], axis=1)
# 縱向合并
pd.concat([df1, df2], axis=0)
python
運行
- 1
- 2
- 3
- 4
- 5
5. 數據分析與可視化
5.1 描述性統計
print(df.describe()) # 統計均值、標準差等
python
運行
- 1
5.2 數據可視化
df['Sales'].plot(kind='bar') # 繪制柱狀圖
plt.savefig('sales.png') # 保存圖表
python
運行
- 1
- 2
6. 高級功能與性能優化
6.1 時間序列分析
df['Date'] = pd.to_datetime(df['Date'])
df.set_index('Date', inplace=True)
df.resample('M').mean() # 按月重采樣
python
運行
- 1
- 2
- 3
6.2 性能優化
- 向量化操作:優先使用
df.apply()而非循環。 - 內存優化:
df.memory_usage(deep=True) # 查看內存占用python運行- 1
7. 實戰案例
7.1 銷售數據分析
sales = pd.read_csv('sales.csv')
sales['Profit'] = sales['Revenue'] - sales['Cost']
sales.plot(x='Month', y='Profit', kind='line')
python
運行
- 1
- 2
- 3
7.2 股票數據分析
import yfinance as yf
data = yf.download('AAPL', start='2023-01-01')
data['MA50'] = data['Close'].rolling(50).mean()
data[['Close', 'MA50']].plot()
python
運行
- 1
- 2
- 3
- 4
8. 總結
- 核心掌握:數據結構、數據清洗、聚合分析、可視化。
- 學習資源:
- Pandas官方文檔
- Kaggle實戰項目
- 實踐建議:從真實數據集(如Kaggle)入手,逐步探索高級功能。
Python Pandas庫超詳細教程:從入門到精通實戰指南-CSDN博客
摘抄自網絡,便于檢索查找。

浙公網安備 33010602011771號