Pandas是一個(gè)開(kāi)源的數(shù)據(jù)分析工具,在Python/ target=_blank class=infotextkey>Python環(huán)境中廣泛應(yīng)用于數(shù)據(jù)處理、數(shù)據(jù)清洗、數(shù)據(jù)分析和數(shù)據(jù)可視化等領(lǐng)域。它提供了兩個(gè)主要的數(shù)據(jù)結(jié)構(gòu):Series和DataFrame。
Series
Series是Pandas中的一維標(biāo)記數(shù)組,類似于一維數(shù)組或列。
示例代碼如下:
import pandas as pd
data = [1, 3, 5, np.nan, 6, 8]
s = pd.Series(data)
print(s)
輸出結(jié)果為:
0 1.0
1 3.0
2 5.0
3 NaN
4 6.0
5 8.0
dtype: float64
DataFrame
DataFrame是Pandas中的二維數(shù)據(jù)結(jié)構(gòu),類似于數(shù)據(jù)庫(kù)中的表。
示例代碼如下:
import pandas as pd
data = {'Name': ['Tom', 'Nick', 'John'],
'Age': [20, 25, 30],
'City': ['New York', 'Paris', 'London']}
df = pd.DataFrame(data)
print(df)
輸出結(jié)果為:
Name Age City
0 Tom 20 New York
1 Nick 25 Paris
2 John 30 London
接下來(lái),我將介紹一些Pandas庫(kù)中常用的功能和方法:
數(shù)據(jù)讀取和寫(xiě)入:
Pandas提供了各種函數(shù)用于讀取和寫(xiě)入常見(jiàn)的數(shù)據(jù)格式,如CSV、Excel、SQL數(shù)據(jù)庫(kù)、JSON等。
示例代碼如下:
import pandas as pd
# 從CSV文件讀取數(shù)據(jù)
df_csv = pd.read_csv('data.csv')
# 將數(shù)據(jù)寫(xiě)入CSV文件
df.to_csv('data.csv', index=False)
# 從Excel文件讀取數(shù)據(jù)
df_excel = pd.read_excel('data.xlsx')
# 將數(shù)據(jù)寫(xiě)入Excel文件
df.to_excel('data.xlsx', index=False)
數(shù)據(jù)清洗:
Pandas提供了強(qiáng)大的數(shù)據(jù)清洗功能,可以處理缺失值、重復(fù)值、異常值等。
示例代碼如下:
import pandas as pd
# 處理缺失值
df.dropna() # 刪除包含缺失值的行
df.fillna(value) # 用指定值或統(tǒng)計(jì)量填充缺失值
# 處理重復(fù)值
df.drop_duplicates() # 刪除重復(fù)行
# 處理異常值
df[(df['Age'] > 0) & (df['Age'] < 100)] # 篩選滿足條件的行
數(shù)據(jù)篩選和索引
Pandas提供了靈活的篩選和索引方式,可以通過(guò)條件、標(biāo)簽、位置等方式對(duì)數(shù)據(jù)進(jìn)行訪問(wèn)和操作。
示例代碼如下:
import pandas as pd
# 通過(guò)標(biāo)簽篩選
df.loc[df['Age'] > 20, ['Name', 'City']]
# 通過(guò)位置篩選
df.iloc[0:5, 1:3]
# 通過(guò)條件篩選
df[df['City'].isin(['New York', 'London'])]
數(shù)據(jù)聚合和分組
Pandas支持對(duì)數(shù)據(jù)進(jìn)行聚合和分組分析,可以方便地計(jì)算統(tǒng)計(jì)量、透視表、分組計(jì)算等。
示例代碼如下:
import pandas as pd
# 計(jì)算統(tǒng)計(jì)量
df.mean() # 計(jì)算每列的平均值
df.groupby('City').mean() # 按城市分組計(jì)算平均值
# 透視表
pd.pivot_table(df, values='Age', index='Name', columns='City', aggfunc='mean')
# 分組計(jì)算
df.groupby('City').agg({'Age': 'mean', 'Salary': 'sum'})
數(shù)據(jù)可視化
Pandas內(nèi)置了Matplotlib庫(kù),可以方便地進(jìn)行數(shù)據(jù)可視化,繪制各種類型的圖表。
示例代碼如下:
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')
# 繪制散點(diǎn)圖
df.plot(x='Height', y='Weight', kind='scatter')
# 繪制箱線圖
df.plot(y='Score', kind='box')
# 繪制餅圖
df['Category'].value_counts().plot(kind='pie')
plt.show()
綜上所述,Pandas是一個(gè)功能強(qiáng)大且易用的數(shù)據(jù)分析庫(kù),具備數(shù)據(jù)讀取、清洗、篩選、聚合、可視化等功能,適用于各種數(shù)據(jù)處理和分析場(chǎng)景。通過(guò)Pandas庫(kù),您可以更輕松高效地處理和分析數(shù)據(jù),從而做出更準(zhǔn)確的數(shù)據(jù)驅(qū)動(dòng)決策。






