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 通過數列(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