天天看點

Python的Pandas庫技巧,讓你成為資料處理高手!

作者:雲中随心而記

Pandas是一個開源的資料分析工具,在Python環境中廣泛應用于資料處理、資料清洗、資料分析和資料可視化等領域。它提供了兩個主要的資料結構:Series和DataFrame。

Python的Pandas庫技巧,讓你成為資料處理高手!

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庫,您可以更輕松高效地處理和分析資料,進而做出更準确的資料驅動決策。