Python-データ操作
Pythonは、主に2つのライブラリ、PandasとNumpyを介してさまざまな形式のデータを処理します。前の章で、これら2つのライブラリの重要な機能をすでに見てきました。この章では、データの操作方法に関する各ライブラリの基本的な例をいくつか紹介します。
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]
パンダでのデータ操作
パンダはデータを処理します Series、Data Frame、および Panel。これらのそれぞれからいくつかの例を見ていきます。
パンダシリーズ
Seriesは、任意のタイプ(整数、文字列、浮動小数点数、Pythonオブジェクトなど)のデータを保持できる1次元のラベル付き配列です。軸ラベルはまとめてインデックスと呼ばれます。パンダシリーズは、次のコンストラクターを使用して作成できます-
pandas.Series( data, index, dtype, copy)
例
ここでは、NumpyArrayからシリーズを作成します。
#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
その output 次のとおりです-
0 a
1 b
2 c
3 d
dtype: object
パンダDataFrame
データフレームは2次元のデータ構造です。つまり、データは行と列に表形式で配置されます。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
その output 次のとおりです-
Age Name
rank1 28 Tom
rank2 34 Jack
rank3 29 Steve
rank4 42 Ricky
パンダパネル
A panelデータの3Dコンテナです。用語Panel data 計量経済学から派生し、パンダの名前に部分的に責任があります- pan(el)-da(ta)-s。
パネルは、次のコンストラクターを使用して作成できます-
pandas.Panel(data, items, major_axis, minor_axis, dtype, copy)
以下の例では、DataFrameオブジェクトのdictからパネルを作成します
#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
その output 次のとおりです-
<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