pandas ライブラリ

【pandas】loc、ilocの使い方、違いについて

pythonのデータ解析ライブラリであるpandasについて、loc、ilocの使い方や違いについて紹介します

本記事では、以下の内容を紹介します。

この記事で分かること

  • loc、ilocの違いについて
  • locの使い方
  • ilocの使い方

なお、記事中のサンプルコードには、以下のデータフレームを使用しています。

df = pd.DataFrame(
    data = [['LA Store','Los Angeles', 'CA', 1000],
            ['SF Store', 'San Francisco', 'CA', 2000],
            ['Portland Store', 'Portland', 'OR', 1500],
            ['Denver Store', 'Denver', 'CO', 1000]],
    columns=['STORE', 'CITY', 'STATE', 'SALES']
    )

df.set_index('STORE', inplace=True)

df

スポンサーリンク

loc、ilocの違いについて

はじめに、loc、ilocの違いについて、簡単に紹介します

pandasのlocとilocは、どちらも行、列、要素の抽出に使用します。

loc と iloc では、行、列の指定方法が異なります。

loc : 行、列の名前(ラベル)で指定

iloc : 番号(インデックス)で指定

loc、ilocを使用して、DataFrameの行を抽出するサンプルコードです。

import pandas as pd

df = pd.DataFrame(
    data = [['LA Store','Los Angeles', 'CA', 1000],
            ['SF Store', 'San Francisco', 'CA', 2000],
            ['Portland Store', 'Portland', 'OR', 1500],
            ['Denver Store', 'Denver', 'CO', 1000]],
    columns=['STORE', 'CITY', 'STATE', 'SALES']
    )
df.set_index('STORE', inplace=True)


# ----------  loc  ---------- #
print(df.loc['SF Store'])
# CITY     San Francisco
# STATE               CA
# SALES             2000
# Name: SF Store, dtype: object


# ----------  iloc  ---------- #
print(df.iloc[1])
# CITY     San Francisco
# STATE               CA
# SALES             2000
# Name: SF Store, dtype: object

スポンサーリンク

locの使い方

locの使い方について紹介します

loc は、要素を、行名、列名で指定します

書き方

loc[ '行名', '列名' ]

以下、サンプルコードです。

◆行を抽出する例

import pandas as pd

df = pd.DataFrame(
    data = [['LA Store','Los Angeles', 'CA', 1000],
            ['SF Store', 'San Francisco', 'CA', 2000],
            ['Portland Store', 'Portland', 'OR', 1500],
            ['Denver Store', 'Denver', 'CO', 1000]],
    columns=['STORE', 'CITY', 'STATE', 'SALES']
    )
df.set_index('STORE', inplace=True)


print(df.loc['SF Store'])
# CITY     San Francisco
# STATE               CA
# SALES             2000
# Name: SF Store, dtype: object

> print(df.loc['SF Store'])

loc[ '行名' ]を指定し、行を抽出しています。

◆列を抽出する例

import pandas as pd

df = pd.DataFrame(
    data = [['LA Store','Los Angeles', 'CA', 1000],
            ['SF Store', 'San Francisco', 'CA', 2000],
            ['Portland Store', 'Portland', 'OR', 1500],
            ['Denver Store', 'Denver', 'CO', 1000]],
    columns=['STORE', 'CITY', 'STATE', 'SALES']
    )
df.set_index('STORE', inplace=True)


print(df.loc[:,'CITY'])
# STORE
# LA Store            Los Angeles
# SF Store          San Francisco
# Portland Store         Portland
# Denver Store             Denver
# Name: CITY, dtype: object

> print(df.loc[:,'CITY'])

loc[ : , '列名' ] を指定し、列を抽出しています。

◆要素を抽出する例

import pandas as pd

df = pd.DataFrame(
    data = [['LA Store','Los Angeles', 'CA', 1000],
            ['SF Store', 'San Francisco', 'CA', 2000],
            ['Portland Store', 'Portland', 'OR', 1500],
            ['Denver Store', 'Denver', 'CO', 1000]],
    columns=['STORE', 'CITY', 'STATE', 'SALES']
    )
df.set_index('STORE', inplace=True)


print(df.loc['SF Store', 'CITY'])
# San Francisco

> print(df.loc['SF Store', 'CITY'])

loc[ '行名' , '列名' ] を指定し、要素を抽出しています。

スポンサーリンク

ilocの使い方

ilocの使い方について紹介します

iloc は、要素を、行番号、列番号で指定します

書き方

iloc[ 行番号, 列番号 ]

以下、サンプルコードです。

◆行を抽出する例

import pandas as pd

df = pd.DataFrame(
    data = [['LA Store','Los Angeles', 'CA', 1000],
            ['SF Store', 'San Francisco', 'CA', 2000],
            ['Portland Store', 'Portland', 'OR', 1500],
            ['Denver Store', 'Denver', 'CO', 1000]],
    columns=['STORE', 'CITY', 'STATE', 'SALES']
    )
df.set_index('STORE', inplace=True)


print(df.iloc[1])
# CITY     San Francisco
# STATE               CA
# SALES             2000
# Name: SF Store, dtype: object

> print(df.iloc[1])

iloc[ 行番号 ]を指定し、行を抽出しています。

◆列を抽出する例

import pandas as pd

df = pd.DataFrame(
    data = [['LA Store','Los Angeles', 'CA', 1000],
            ['SF Store', 'San Francisco', 'CA', 2000],
            ['Portland Store', 'Portland', 'OR', 1500],
            ['Denver Store', 'Denver', 'CO', 1000]],
    columns=['STORE', 'CITY', 'STATE', 'SALES']
    )
df.set_index('STORE', inplace=True)


print(df.iloc[:, 0])
# STORE
# LA Store            Los Angeles
# SF Store          San Francisco
# Portland Store         Portland
# Denver Store             Denver
# Name: CITY, dtype: object

> print(df.iloc[:, 0])

loc[ : , 列番号 ] を指定し、列を抽出しています。

◆要素を抽出する例

import pandas as pd

df = pd.DataFrame(
    data = [['LA Store','Los Angeles', 'CA', 1000],
            ['SF Store', 'San Francisco', 'CA', 2000],
            ['Portland Store', 'Portland', 'OR', 1500],
            ['Denver Store', 'Denver', 'CO', 1000]],
    columns=['STORE', 'CITY', 'STATE', 'SALES']
    )
df.set_index('STORE', inplace=True)


print(df.iloc[1, 0])
# San Francisco

> print(df.iloc[1, 0])

loc[ 行番号 , 列番号 ] を指定し、要素を抽出しています。

スポンサーリンク

-pandas, ライブラリ
-,