Python資料操作


Python主要通過PandasNumpy這兩個庫來處理各種格式的資料。 我們已經在前面的章節中看到了這兩個庫的重要特徵。 在本章中,我們將看到每個庫中關於如何運算元據的一些基本範例。

Numpy中的資料操作

NumPy中定義的最重要的物件是名為ndarrayN維陣列型別。 它描述了相同型別的專案的集合。 可以使用從零開始的索引來存取集合中的專案。 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 通過數列(Series),資料框和面板處理資料。 我們將看到一些例子。

Pandas數列
Series是一維標籤陣列,能夠容納任何型別的資料(整數,字串,浮點數,python物件等)。 軸標籤統稱為索引。 Pandas系列可以使用以下建構函式建立 -

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

範例
這裡從Numpy Array建立一個系列。

#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)是一個二維資料結構,即資料按行和列的表格方式排列。 可以使用以下建構函式建立一個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面板

面板是資料的3D容器。 術語面板資料來自計量經濟學,部分負責名稱pandas - pan(el)-da(ta)-s。

面板可以使用以下建構函式建立 -

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

在下面的例子中,從DataFrame物件的字典建立一個面板 -

#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