Python - 資料操作



Python 主要透過 Pandas 和 Numpy 這兩個庫來處理各種格式的資料。我們已經在前面的章節中看到了這兩個庫的重要特性。在本節中,我們將看到這兩個庫中一些關於如何操作資料的基本示例。

Numpy 中的資料操作

NumPy 中定義的最重要的物件是稱為 ndarray 的 N 維陣列型別。它描述了相同型別專案的集合。集合中的專案可以使用基於零的索引訪問。ndarray 類的例項可以透過教程後面介紹的不同陣列建立例程來構建。基本的 ndarray 是使用 NumPy 中的陣列函式建立的,如下所示:

numpy.array 

以下是一些關於 Numpy 資料處理的示例。

示例 1

# more than one dimensions 
import numpy as np 
a = np.array([[1, 2], [3, 4]]) 
print a

輸出如下:

[[1, 2] 
 [3, 4]]

示例 2

# minimum dimensions 
import numpy as np 
a = np.array([1, 2, 3,4,5], ndmin = 2) 
print a

輸出如下:

[[1, 2, 3, 4, 5]]

示例 3

# dtype parameter 
import numpy as np 
a = np.array([1, 2, 3], dtype = complex) 
print a

輸出如下:

[ 1.+0.j,  2.+0.j,  3.+0.j]

Pandas 中的資料操作

Pandas 透過SeriesDataFramePanel來處理資料。我們將從這三個方面來看一些例子。

Pandas Series

Series 是一種一維標記陣列,能夠儲存任何型別的資料(整數、字串、浮點數、Python 物件等)。軸標籤統稱為索引。可以使用以下建構函式建立 pandas Series:

pandas.Series( data, index, dtype, copy)

示例

這裡我們從一個 Numpy 陣列建立一個 Series。

#import the pandas library and aliasing as pd
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

Pandas DataFrame

DataFrame 是一種二維資料結構,即資料以表格形式在行和列中對齊。可以使用以下建構函式建立 pandas DataFrame:

pandas.DataFrame( data, index, columns, dtype, copy)

現在讓我們使用陣列建立一個帶索引的 DataFrame。

import pandas as pd
data = {'Name':['Tom', 'Jack', 'Steve', 'Ricky'],'Age':[28,34,29,42]}
df = pd.DataFrame(data, index=['rank1','rank2','rank3','rank4'])
print df

輸出如下:

         Age    Name
rank1    28      Tom
rank2    34     Jack
rank3    29    Steve
rank4    42    Ricky

Pandas Panel

Panel是一個 3D 資料容器。術語Panel 資料來源於計量經濟學,部分原因是 pandas 的名稱——pan(el)-da(ta)-s

可以使用以下建構函式建立 Panel:

pandas.Panel(data, items, major_axis, minor_axis, dtype, copy)

在下面的例子中,我們從 DataFrame 物件的字典中建立一個 Panel。

#creating an empty panel
import pandas as pd
import numpy as np

data = {'Item1' : pd.DataFrame(np.random.randn(4, 3)), 
        'Item2' : pd.DataFrame(np.random.randn(4, 2))}
p = pd.Panel(data)
print p

輸出如下:

<class 'pandas.core.panel.Panel'>
Dimensions: 2 (items) x 4 (major_axis) x 5 (minor_axis)
Items axis: 0 to 1
Major_axis axis: 0 to 3
Minor_axis axis: 0 to 4
廣告
© . All rights reserved.