English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Pandas 基本方法

Pandas 基本方法の例

今まで、Pandas DataStructuresの3つとそれらの作成方法について学びました。リアルタイムデータ処理における重要性から、主にDataFrameオブジェクトに注目し、他のDataStructuresについても議論します。

メソッド説明
axes行軸のラベルのリストを返します
dtypeオブジェクトのdtypeを返します。
emptySeriesが空であればTrueを返します。
ndim定義に従って基本データの次元を返します。
size基本データ内の要素数を返します。
valuesSeriesをndarrayとして返します。
head()最初のn行を返します。
tail()最後のn行を返します。
次に、Seriesを作成し、すべてのリストの属性操作を見てみましょう。
 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

axes

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])。

empty

オブジェクトが空かどうかを示す布尔値を返します。Trueはオブジェクトが空を意味します

 import pandas as pd
 import numpy as np
 # 用100ランダム数でSeriesを作成します
 s = pd.Series(np.random.randn(4))
 print ("オブジェクトは空ですか?")
 print(s.empty)

実行結果:

オブジェクトは空ですか?
False

ndim

オブジェクトの次元を返します。定義に従って、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

size

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

values

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 ]

Head と Tail

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の基本機能について説明します。以下のテーブルには、DataFrameの基本機能に役立つ重要な属性やメソッドが示されています。

属性/メソッド説明
T行と列が相互に変換されます
axes行軸タグと列軸タグがユニークなメンバーのリストを返します。
dtypesこのオブジェクトのdtypesを返します。
emptyNDFrameが完全に空(項目がなく)の場合、true;それ以外の場合はfalse。どの軸の長さも0の場合。
ndim軸数/配列のサイズ。
shapeDataFrameの次元を示すタプルを返します。
sizeNDFrameの要素数。
valuesNDFrameの数字表示。
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

T (Transpose)

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

axes

行軸タグと列軸タグのリストを返します。

 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')]

dtypes

各列のデータタイプを返します。

 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

empty

ブール値を返します。オブジェクトが空かどうかを示します;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

ndim

オブジェクトの数を返します。定義に従って、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

shape

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)

size

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

values

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