【揭秘Pandas】輕鬆上手數據統計分析的強大利器

提問者:用戶OMKV 發布時間: 2025-06-08 14:30:01 閱讀時間: 3分鐘

最佳答案

簡介

Pandas是一個開源的Python數據分析庫,由Wes McKinney在2008年開辟,現在由PyData團隊保護。Pandas以其富強的數據處理跟分析才能,在數據科學跟數據分析範疇掉掉落了廣泛利用。它構建在NumPy跟Matplotlib之上,與Python的其他科學打算庫兼容,構成數據分析的三劍客。Pandas的核心數據構造包含Series跟DataFrame,為用戶供給了高效的數據操縱跟分析東西。

Pandas的核心數據構造

Series

Series是一維數組,可能存儲任何數據範例,每個元素都有一個唯一的標籤(索引)。它類似於Python中的列表或NumPy數組,但供給了更豐富的索引跟操縱功能。

import pandas as pd

# 創建一個Series
s = pd.Series([1, 2, 3, 4, 5], index=['a', 'b', 'c', 'd', 'e'])
print(s)

DataFrame

DataFrame是二維表格型數據構造,可能懂得為多個Series的湊集。每個列有本人的標籤,行也有響應的索引。它是Pandas中最常用的數據構造。

import pandas as pd

# 創建一個DataFrame
data = {
    'Name': ['Tom', 'Nick', 'John', 'Alice'],
    'Age': [20, 21, 19, 18],
    'City': ['New York', 'London', 'Toronto', 'Sydney']
}
df = pd.DataFrame(data)
print(df)

Pandas的重要功能

讀/寫數據源

Pandas支撐從多種格局(如CSV、Excel、SQL材料庫)讀取數據,並能將處理後的數據保存到這些格局。

# 讀取CSV文件
df = pd.read_csv('data.csv')

# 保存DataFrame到CSV文件
df.to_csv('output.csv', index=False)

數據清洗跟預處理

Pandas供給了處理缺掉值的東西,如填充NaN值或刪除含出缺掉值的行或列。它還支撐數據範例轉換、排序、去重等功能。

# 處理缺掉值
df.fillna(0, inplace=True)

# 刪除含出缺掉值的行
df.dropna(inplace=True)

# 數據範例轉換
df['Age'] = df['Age'].astype(int)

# 排序
df.sort_values(by='Age', inplace=True)

# 去重
df.drop_duplicates(inplace=True)

時光序列分析

Pandas內置了對日期跟時光的處理,可能便利地停止時光序列數據的切片、重採樣跟打算頻率轉換。

import pandas as pd

# 創建時光序列數據
ts = pd.Series([1, 2, 3, 4, 5], index=pd.date_range(start='1/1/2020', periods=5, freq='D'))

# 時光序列數據切片
ts['2020-01-01':'2020-01-03']

# 時光序列數據重採樣
ts.resample('M').sum()

# 打算頻率轉換
ts.freq_convert('H', method='ffill')

分組與聚合

經由過程groupby()函數,可能基於一個或多個列對數據停止分組,並對分組後的數據履行聚合操縱(如求跟、均勻值、計數等)。

# 分組與聚合
df.groupby('City')['Age'].mean()

透視表與穿插表

利用pivot_table()函數,可能創建透視表跟穿插表,對數據停止多維度分析。

# 創建透視表
pivot_table = df.pivot_table(values='Age', index='City', columns='Name')

# 創建穿插表
cross_table = df.crosstab(index='City', columns='Name')

總結

Pandas是一個功能富強的數據分析庫,它可能幫助用戶輕鬆地停止數據清洗、預處理、統計分析、時光序列分析等操縱。經由過程進修Pandas,用戶可能愈加高效地停止數據分析任務。

相關推薦