Pandas DataFrame.ix[]  関数

Minahil Noor 2023年1月30日
  1. pandas.DataFrame.ix[] の構文:
  2. コード例:DataFrame.ix[] 行インデックスをスライスするメソッド
  3. コード例:DataFrame.ix[] 列インデックスをスライスするメソッド
  4. コード例:DataFrame.ix[] メソッドで列のラベルをスライスする
Pandas DataFrame.ix[]  関数
警告
DataFrame.ix は Pandas のバージョン 0.20.0 から非推奨となりました。lociloc のような、より厳密なインデックス作成方法を使用することができます。

Python Pandas DataFrame.ix[] 関数は、パラメータの値に応じて行や列をスライスします。

pandas.DataFrame.ix[] の構文:

DataFrame.ix[index = None,
             label = None]

パラメータ

index 行のインデックスをスライスするための整数または整数のリスト。
label カラムラベルをスライスするための文字列、整数、文字列のリスト、または整数。

戻り値

変更されたデータフレームを返します。

コード例:DataFrame.ix[] 行インデックスをスライスするメソッド

import pandas as pd

dataframe=pd.DataFrame({'Attendance': {0: 60, 1: 100, 2: 80,3: 78,4: 95},
                        'Name': {0: 'Olivia', 1: 'John', 2: 'Laura',3: 'Ben',4: 'Kevin'},
                        'Obtained Marks': {0: 90, 1: 75, 2: 82, 3: 64, 4: 45}})

print("The Original Data frame is: \n")
print(dataframe)

dataframe1 = dataframe.ix[:2, ]
print("The Modified Data frame is: \n")
print(dataframe1)

出力:

The Original Data frame is: 

   Attendance    Name  Obtained Marks
0          60  Olivia              90
1         100    John              75
2          80   Laura              82
3          78     Ben              64
4          95   Kevin              45
The Modified Data frame is: 

   Attendance    Name  Obtained Marks
0          60  Olivia              90
1         100    John              75
2          80   Laura              82

行インデックス 34 をスライスした。

コード例:DataFrame.ix[] 列インデックスをスライスするメソッド

Pandas DataFrame のカラムをスライスするには、インデックスを用いてカラムのラベルを指定する関数 ix[] を呼び出します。

import pandas as pd

dataframe=pd.DataFrame({'Attendance': {0: 60, 1: 100, 2: 80,3: 78,4: 95},
                        'Name': {0: 'Olivia', 1: 'John', 2: 'Laura',3: 'Ben',4: 'Kevin'},
                        'Obtained Marks': {0: 90, 1: 75, 2: 82, 3: 64, 4: 45}})

print("The Original Data frame is: \n")
print(dataframe)

dataframe1 = dataframe.ix[ : , :1]
print("The Modified Data frame is: \n")
print(dataframe1)

出力:

The Original Data frame is: 

   Attendance    Name  Obtained Marks
0          60  Olivia              90
1         100    John              75
2          80   Laura              82
3          78     Ben              64
4          95   Kevin              45
The Modified Data frame is: 

   Attendance
0          60
1         100
2          80
3          78
4          95

これで、データフレームの最初のカラムのみが返されるようになりました。

コード例:DataFrame.ix[] メソッドで列のラベルをスライスする

また、カラムのラベルをパラメータとして渡すことで、そのカラムを保持し、他のカラムをスライスすることもできます。

import pandas as pd

dataframe=pd.DataFrame({'Attendance': {0: 60, 1: 100, 2: 80,3: 78,4: 95},
                        'Name': {0: 'Olivia', 1: 'John', 2: 'Laura',3: 'Ben',4: 'Kevin'},
                        'Obtained Marks': {0: 90, 1: 75, 2: 82, 3: 64, 4: 45}})

print("The Original Data frame is: \n")
print(dataframe)

dataframe1 = dataframe.ix[ : ,"Name"]
print("The Modified Data frame is: \n")
print(dataframe1)

出力:

The Original Data frame is: 

   Attendance    Name  Obtained Marks
0          60  Olivia              90
1         100    John              75
2          80   Laura              82
3          78     Ben              64
4          95   Kevin              45
The Modified Data frame is: 

0    Olivia
1      John
2     Laura
3       Ben
4     Kevin
Name: Name, dtype: object

この関数は Name カラムを保持したまま他のカラムをスライスしています。しかし、この関数は Name カラムの値を保持し、そのラベルをスライスしていることに注意してください。

関連記事 - Pandas DataFrame