簡介
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,用戶可能愈加高效地停止數據分析任務。