在數據分析領域,處理數據是基本工作之一。在Python中,pandas是一個常用的數據處理工具。pandas是基於NumPy數組構建的,常用於處理結構化數據,例如來自SQL資料庫或Excel電子表格的數據。
一、數據結構
pandas中的兩個基本數據結構是Series和DataFrame。
Series是一種類似於一維數組的對象,由一組數據(各種NumPy數據類型)和一組與之相關的數據標籤(即索引)組成。例如,可以通過一維數組創建Series對象,其中索引默認為數字0到N-1(N是數據長度):
import pandas as pd
import numpy as np
data = np.array(['a', 'b', 'c', 'd'])
s = pd.Series(data)
print(s)
輸出:
0 a
1 b
2 c
3 d
dtype: object
DataFrame是一個二維表格型的數據結構。在激勵的數據分析工作中,我們通常會將數據讀取為DataFrame對象。DataFrame有行和列的索引,可以看作是由Series組成的字典。下面的示例展示了如何創建DataFrame對象:
import pandas as pd
import numpy as np
data = {'name': ['John', 'Bob', 'Alice'], 'age': [18, 22, 25]}
df = pd.DataFrame(data)
print(df)
輸出:
name age
0 John 18
1 Bob 22
2 Alice 25
二、數據操作
1.讀寫數據
pandas提供了讀寫各種常見數據格式的函數,例如CSV, Excel, SQL。讀取CSV文件的示例如下:
import pandas as pd
df = pd.read_csv('data.csv')
print(df.head(10))
同樣可以通過to_csv函數將數據寫入CSV文件:
import pandas as pd
df.to_csv('data.csv')
2.數據選擇與篩選
在pandas中,可以通過類似於NumPy的下標操作和標籤操作進行數據的選擇與篩選。
通過下標操作,可以選擇DataFrame中的某一列或某一行:
import pandas as pd
import numpy as np
data = {'name': ['John', 'Bob', 'Alice'], 'age': [18, 22, 25]}
df = pd.DataFrame(data)
# 選擇第一行
print(df.iloc[0])
# 選擇age列
print(df['age'])
通過標籤操作,可以選擇DataFrame中的行或列。例如,以下代碼選擇了第一行和第二列:
import pandas as pd
import numpy as np
data = {'name': ['John', 'Bob', 'Alice'], 'age': [18, 22, 25]}
df = pd.DataFrame(data)
print(df.loc[0, 'age'])
3.數據清洗
數據清洗是數據分析中非常重要的一個環節。pandas提供了豐富的函數來處理缺失值、重複值和異常值。
例如,以下代碼展示了如何檢測並刪除重複的數據:
import pandas as pd
df = pd.DataFrame({'name': ['John', 'Bob', 'Alice', 'Bob'], 'age': [18, 22, 25, 22]})
df.drop_duplicates(inplace=True)
print(df)
4.數據聚合與分組
數據聚合通常是在數據分析中進行數據統計和分析的重要環節。pandas提供了groupby函數來幫助我們實現數據聚合和分組。以下示例展示了如何按照類別進行數據分組,然後計算每個類別中價格的平均值:
import pandas as pd
import numpy as np
data = {'item': ['item1', 'item2', 'item3', 'item2', 'item1'],
'category': ['cat1', 'cat1', 'cat2', 'cat3', 'cat2'],
'price': [10, 20, 30, 40, 50]}
df = pd.DataFrame(data)
grouped = df.groupby('category')
print(grouped['price'].mean())
三、數據可視化
pandas可以與matplotlib一起使用,用於數據可視化。通過pandas提供的繪圖函數,可以輕鬆地繪製常見的圖表,例如線形圖、柱形圖、散點圖等。
以下示例展示了如何繪製一張折線圖:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
data = np.random.randn(50).cumsum()
s = pd.Series(data)
s.plot()
plt.show()
輸出的圖表如下:

四、總結
pandas是Python中非常重要且常用的數據分析工具。它提供了豐富的數據結構、數據操作以及數據可視化函數,可以幫助我們完成數據分析中的大部分任務。在實際的數據分析工作中,熟練掌握pandas的使用,可以提高工作效率,也可以讓分析結果更準確。
原創文章,作者:BRHL,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/141058.html