Pandas是一個開源的資料分析工具,在Python環境中廣泛應用于資料處理、資料清洗、資料分析和資料可視化等領域。它提供了兩個主要的資料結構:Series和DataFrame。
Series
Series是Pandas中的一維标記數組,類似于一維數組或列。
示例代碼如下:
import pandas as pd
data = [1, 3, 5, np.nan, 6, 8]
s = pd.Series(data)
print(s)
輸出結果為:
0 1.0
1 3.0
2 5.0
3 NaN
4 6.0
5 8.0
dtype: float64
DataFrame
DataFrame是Pandas中的二維資料結構,類似于資料庫中的表。
示例代碼如下:
import pandas as pd
data = {'Name': ['Tom', 'Nick', 'John'],
'Age': [20, 25, 30],
'City': ['New York', 'Paris', 'London']}
df = pd.DataFrame(data)
print(df)
輸出結果為:
Name Age City
0 Tom 20 New York
1 Nick 25 Paris
2 John 30 London
接下來,我将介紹一些Pandas庫中常用的功能和方法:
資料讀取和寫入:
Pandas提供了各種函數用于讀取和寫入常見的資料格式,如CSV、Excel、SQL資料庫、JSON等。
示例代碼如下:
import pandas as pd
# 從CSV檔案讀取資料
df_csv = pd.read_csv('data.csv')
# 将資料寫入CSV檔案
df.to_csv('data.csv', index=False)
# 從Excel檔案讀取資料
df_excel = pd.read_excel('data.xlsx')
# 将資料寫入Excel檔案
df.to_excel('data.xlsx', index=False)
資料清洗:
Pandas提供了強大的資料清洗功能,可以處理缺失值、重複值、異常值等。
示例代碼如下:
import pandas as pd
# 處理缺失值
df.dropna() # 删除包含缺失值的行
df.fillna(value) # 用指定值或統計量填充缺失值
# 處理重複值
df.drop_duplicates() # 删除重複行
# 處理異常值
df[(df['Age'] > 0) & (df['Age'] < 100)] # 篩選滿足條件的行
資料篩選和索引
Pandas提供了靈活的篩選和索引方式,可以通過條件、标簽、位置等方式對資料進行通路和操作。
示例代碼如下:
import pandas as pd
# 通過标簽篩選
df.loc[df['Age'] > 20, ['Name', 'City']]
# 通過位置篩選
df.iloc[0:5, 1:3]
# 通過條件篩選
df[df['City'].isin(['New York', 'London'])]
資料聚合和分組
Pandas支援對資料進行聚合和分組分析,可以友善地計算統計量、透視表、分組計算等。
示例代碼如下:
import pandas as pd
# 計算統計量
df.mean() # 計算每列的平均值
df.groupby('City').mean() # 按城市分組計算平均值
# 透視表
pd.pivot_table(df, values='Age', index='Name', columns='City', aggfunc='mean')
# 分組計算
df.groupby('City').agg({'Age': 'mean', 'Salary': 'sum'})
資料可視化
Pandas内置了Matplotlib庫,可以友善地進行資料可視化,繪制各種類型的圖表。
示例代碼如下:
import pandas as pd
import matplotlib.pyplot as plt
# 繪制折線圖
df.plot(x='Date', y='Price', kind='line')
# 繪制柱狀圖
df.plot(x='Category', y='Count', kind='bar')
# 繪制散點圖
df.plot(x='Height', y='Weight', kind='scatter')
# 繪制箱線圖
df.plot(y='Score', kind='box')
# 繪制餅圖
df['Category'].value_counts().plot(kind='pie')
plt.show()
綜上所述,Pandas是一個功能強大且易用的資料分析庫,具備資料讀取、清洗、篩選、聚合、可視化等功能,适用于各種資料處理和分析場景。通過Pandas庫,您可以更輕松高效地處理和分析資料,進而做出更準确的資料驅動決策。