English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Pandas 基本方法の例
今まで、Pandas DataStructuresの3つとそれらの作成方法について学びました。リアルタイムデータ処理における重要性から、主にDataFrameオブジェクトに注目し、他のDataStructuresについても議論します。
メソッド | 説明 |
axes | 行軸のラベルのリストを返します |
dtype | オブジェクトのdtypeを返します。 |
empty | Seriesが空であればTrueを返します。 |
ndim | 定義に従って基本データの次元を返します。 |
size | 基本データ内の要素数を返します。 |
values | Seriesをndarrayとして返します。 |
head() | 最初のn行を返します。 |
tail() | 最後のn行を返します。 |
import pandas as pd import numpy as np # 用100ランダム数でSeriesを作成します s = pd.Series(np.random.randn(4)) print(s)
実行結果:
0 0.967853 1 -0.148368 2 -1.395906 3 -1.758394 dtype: float64
Seriesのラベルのリストを返します
import pandas as pd import numpy as np # 用100ランダム数でSeriesを作成します s = pd.Series(np.random.randn(4)) print ("軸は:") print(s.axes)
実行結果:
軸は: [RangeIndex(start=0, stop=4, step=1])
上記の結果は0から5(即[0,1,2,3,4])。
オブジェクトが空かどうかを示す布尔値を返します。Trueはオブジェクトが空を意味します
import pandas as pd import numpy as np # 用100ランダム数でSeriesを作成します s = pd.Series(np.random.randn(4)) print ("オブジェクトは空ですか?") print(s.empty)
実行結果:
オブジェクトは空ですか? False
オブジェクトの次元を返します。定義に従って、Seriesは1Dデータ構造であり、そのため
import pandas as pd import numpy as np # 用4ランダムな数値でSeriesを作成します s = pd.Series(np.random.randn(4)) print s print ("オブジェクトの次元:") print(s.ndim)
実行結果:
0 0.175898 1 0.166197 2 -0.609712 3 -1.377000 dtype: float64 オブジェクトの次元: 1
Seriesのサイズ(長さ)を返します。
import pandas as pd import numpy as np # 用4ランダムな数値でSeriesを作成します s = pd.Series(np.random.randn(2)) print s print ("オブジェクトのサイズ:") print(s.size)
実行結果:
0 3.078058 1 -1.207803 dtype: float64 オブジェクトのサイズ: 2
Seriesデータを配列形式で返します
import pandas as pd import numpy as np # 用4ランダムな数値でSeriesを作成します s = pd.Series(np.random.randn(4)) print s print ("実際のデータシリーズは:") print(s.values)
実行結果:
0 1.787373 1 -0.605159 2 0.180477 3 -0.140922 dtype: float64 実際のデータシリーズは: [ 1.78737302 -0.60515881 0.18047664 -0.1409218 ]
SeriesやDataFrameオブジェクトの先頭と末尾のデータを確認するには、head()とtail()メソッドを使用してください。
head() 前n行(観察インデックス値)を返します。デフォルト表示する要素数は5、しかしカスタム数字を渡すこともできます。
import pandas as pd import numpy as np # 用4ランダムな数値でSeriesを作成します s = pd.Series(np.random.randn(4)) print ("最初のシリーズは:") print s print ("データシリーズの最初の2行:") print(s.head(2))
実行結果:
最初のシーケンスは: 0 0.720876 1 -0.765898 2 0.479221 3 -0.139547 dtype: float64 データシリーズの最初の2行: 0 0.720876 1 -0.765898 dtype: float64
tail() 最後のn行を返します(インデックス値を観察)。デフォルトで表示される要素数は5、しかしカスタム数字を渡すこともできます。
import pandas as pd import numpy as np # 用4ランダムな数値でSeriesを作成します s = pd.Series(np.random.randn(4)) print("最初のシーケンスは:") print(s) print("データシーケンスの最後の2行:") print(s)tail(2)
実行結果:
最初のシーケンスは: 0 -0.655091 1 -0.881407 2 -0.608592 3 -2.341413 dtype: float64 データシーケンスの最後の2行: 2 -0.608592 3 -2.341413 dtype: float64
今、DataFrameの基本機能について説明します。以下のテーブルには、DataFrameの基本機能に役立つ重要な属性やメソッドが示されています。
属性/メソッド | 説明 |
T | 行と列が相互に変換されます |
axes | 行軸タグと列軸タグがユニークなメンバーのリストを返します。 |
dtypes | このオブジェクトのdtypesを返します。 |
empty | NDFrameが完全に空(項目がなく)の場合、true;それ以外の場合はfalse。どの軸の長さも0の場合。 |
ndim | 軸数/配列のサイズ。 |
shape | DataFrameの次元を示すタプルを返します。 |
size | NDFrameの要素数。 |
values | NDFrameの数字表示。 |
head() | 最初のn行を返します。 |
tail() | 最後のn行を返します。 |
以下に、DataFrameの属性のすべての操作方法を確認するためにDataFrameを作成します。
import pandas as pd import numpy as np # Series辞書を作成 'Age':pd.Series([ )25,26,25,23,30,29,23]) 'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8]} # DataFrameを作成 df = pd.DataFrame(d) print ("Our data series is:") print(df)
実行結果:
Our data series is: Age Name Rating 0 25 Tom 4.23 1 26 James 3.24 2 25 Ricky 3.98 3 23 Vin 2.56 4 30 Steve 3.20 5 29 Smith 4.60 6 23 Jack 3.80
DataFrameの転置を返します。行と列が入れ替わります。
import pandas as pd import numpy as np # Series辞書を作成 'Age':pd.Series([ )25,26,25,23,30,29,23]) 'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8]} # DataFrameを作成 df = pd.DataFrame(d) print ("データシーケンスの転置は:") print(df.T)
実行結果:
データシーケンスの転置は: 0 1 2 3 4 5 6 Age 25 26 25 23 30 29 23 Name Tom James Ricky Vin Steve Smith Jack Rating 4.23 3.24 3.98 2.56 3.2 4.6 3.8
行軸タグと列軸タグのリストを返します。
import pandas as pd import numpy as np # Series辞書を作成 'Age':pd.Series([ )25,26,25,23,30,29,23]) 'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8]} # DataFrameを作成 df = pd.DataFrame(d) print ("行軸タグと列軸タグは:") print(df.axes)
実行結果:
行軸タグと列軸タグは: [RangeIndex(start=0, stop=7, step=1), Index([u'Age', u'Name', u'Rating'], dtype='object')]
各列のデータタイプを返します。
import pandas as pd import numpy as np # Series辞書を作成 'Age':pd.Series([ )25,26,25,23,30,29,23]) 'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8]} # DataFrameを作成 df = pd.DataFrame(d) print ("各列のデータタイプは以下の通りです:") print(df.dtypes)
実行結果:
各列のデータタイプは以下の通りです: Age int64 Name object Rating float64 dtype: object
ブール値を返します。オブジェクトが空かどうかを示します;Trueはオブジェクトが空を意味します。
import pandas as pd import numpy as np # Series辞書を作成 'Age':pd.Series([ )25,26,25,23,30,29,23]) 'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8]} # DataFrameを作成 df = pd.DataFrame(d) オブジェクトが空かどうかを確認します: print(df.empty)
実行結果:
オブジェクトが空かどうかを確認します? False
オブジェクトの数を返します。定義に従って、DataFrameは2Dオブジェクト。
import pandas as pd import numpy as np # Series辞書を作成 'Age':pd.Series([ )25,26,25,23,30,29,23]) 'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8]} # DataFrameを作成 df = pd.DataFrame(d) 私たちのオブジェクトは以下の通りです: print df オブジェクトの次元は以下の通りです: print(df.ndim)
実行結果:
私たちのオブジェクトは以下の通りです: Age Name Rating 0 25 Tom 4.23 1 26 James 3.24 2 25 Ricky 3.98 3 23 Vin 2.56 4 30 Steve 3.20 5 29 Smith 4.60 6 23 Jack 3.80 オブジェクトの次元は以下の通りです: 2
DataFrameの次元を表すタプルを返します。タプル(a,b)では、aが行数、bが列数を示します。
import pandas as pd import numpy as np # Series辞書を作成 'Age':pd.Series([ )25,26,25,23,30,29,23]) 'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8]} # DataFrameを作成 df = pd.DataFrame(d) 私たちのオブジェクトは以下の通りです: print df オブジェクトの形状は以下の通りです: print(df.shape)
実行結果:
私たちのオブジェクトは以下の通りです: Age Name Rating 0 25 Tom 4.23 1 26 James 3.24 2 25 Ricky 3.98 3 23 Vin 2.56 4 30 Steve 3.20 5 29 Smith 4.60 6 23 Jack 3.80 オブジェクトの形状は以下の通りです: (7, 3)
DataFrame内の要素数を返します。
import pandas as pd import numpy as np # Series辞書を作成 'Age':pd.Series([ )25,26,25,23,30,29,23]) 'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8]} # DataFrameを作成 df = pd.DataFrame(d) 私たちのオブジェクトは以下の通りです: print df オブジェクト内の要素の合計数は以下の通りです: print(df.size)
実行結果:
私たちのオブジェクトは以下の通りです: Age Name Rating 0 25 Tom 4.23 1 26 James 3.24 2 25 Ricky 3.98 3 23 Vin 2.56 4 30 Steve 3.20 5 29 Smith 4.60 6 23 Jack 3.80 私たちのオブジェクト内の要素の合計数は: 21
DataFrame内の実際のデータをNDarray形式で返します。
import pandas as pd import numpy as np # Series辞書を作成 'Age':pd.Series([ )25,26,25,23,30,29,23]) 'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8]} # DataFrameを作成 df = pd.DataFrame(d) 私たちのオブジェクトは以下の通りです: print df データフレーム内の実際のデータは以下の通りです: print(df.values)
実行結果:
私たちのオブジェクトは以下の通りです: Age Name Rating 0 25 Tom 4.23 1 26 James 3.24 2 25 Ricky 3.98 3 23 Vin 2.56 4 30 Steve 3.20 5 29 Smith 4.60 6 23 Jack 3.80 データフレーム内の実際のデータは以下の通りです: [[25 'Tom' 4.23] [26 'James' 3.24] [25 'Ricky' 3.98] [23 'Vin' 2.56] [30 'Steve' 3.2] [29 'Smith' 4.6] [23 'Jack' 3.8]]
DataFrameオブジェクトの先頭と末尾のデータを確認するには、head()とtail()メソッドを使用してください。head()は前n行(インデックス値を確認してください)を返します。デフォルトで表示される要素数は5、しかしカスタム数字を渡すこともできます。
import pandas as pd import numpy as np # Series辞書を作成 'Age':pd.Series([ )25,26,25,23,30,29,23]) 'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8]} # DataFrameを作成 df = pd.DataFrame(d) 私たちのデータフレームは以下の通りです: print df データフレームの最初の2行は以下の通りです: print(df.head(2))
実行結果:
私たちのデータフレームは: Age Name Rating 0 25 Tom 4.23 1 26 James 3.24 2 25 Ricky 3.98 3 23 Vin 2.56 4 30 Steve 3.20 5 29 Smith 4.60 6 23 Jack 3.80 データフレームの最初の2行は: Age Name Rating 0 25 Tom 4.23 1 26 James 3.24
tail() 最後のn行を返します(インデックス値を観察)。デフォルトで表示される要素数は5、しかしカスタム数字を渡すこともできます。
import pandas as pd import numpy as np # Series辞書を作成 'Age':pd.Series([ )25,26,25,23,30,29,23]) 'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8]} # DataFrameを作成 df = pd.DataFrame(d) print ("私たちのデータフレームは:") print df print ("データフレームの最後の2行は:") print(df.head(2))
実行結果:
私たちのデータフレームは: Age Name Rating 0 25 Tom 4.23 1 26 James 3.24 2 25 Ricky 3.98 3 23 Vin 2.56 4 30 Steve 3.20 5 29 Smith 4.60 6 23 Jack 3.80 データフレームの最後の2行は: Age Name Rating 5 29 Smith 4.6 6 23 Jack 3.8