Python『pandas要素参照』で実例を学ぶ!DataFrameの使い方を徹底解説

data

DataFrameはPandasライブラリの主要な機能の一つで、2次元のデータを効率的に扱うことができます。このブログでは、DataFrameの基本的な構造や使い方、データの参照方法などを詳しく解説しています。DataFrameを使いこなすことで、データ分析や加工をスムーズに行えるようになります。データ分析に興味がある方は、是非こちらのブログをご覧ください。

目次

1. DataFrameとは

data

DataFrameは、Pandasライブラリのデータ構造の一つであり、2次元のデータを表現するために使用されます。DataFrameは行と列の形式でデータを表現し、複数の行と列が存在します。各列には一様なデータ型のデータが格納されています。

DataFrameは、テーブルのような形式でデータを扱うことができます。行には行名(インデックス)が付けられ、列には列名が付けられています。これにより、特定の行や列を指定してデータを取得し、集計や加工に利用することができます。

PandasのDataFrameは、効率的にデータを扱うために開発されたPythonのライブラリであり、データの取り込みや加工・集計、分析処理に使用されます。特に、実務でよく使用される2次元のデータを効率的に扱うためにDataFrameが利用されることが多くあります。DataFrameを理解することは、データを効率的に扱う上で非常に重要です。

以下では、DataFrameの基本的な構造や機能について詳しく見ていきましょう。

2. DataFrameの基本構造

data

データフレームは2次元のデータを扱うためのデータ構造です。行と列によってデータが表現され、各列には一様なデータ型のデータが格納されています。

2.1 行と列の指定

データフレームでは、行には行名(インデックス)が付けられ、列には列名が付けられます。これにより、行名や列名を指定することで、データの取得や集計・加工などを行う際に特定の行や列を指定することができます。

2.2 インデックスとカラム

データフレームのインデックスは、行を特定するためのラベルです。カラムは列を特定するためのラベルです。それぞれに名前を付けることもできます。

インデックスやカラムを指定することで、データフレームから特定の行や列を取得することができます。取得した1行や1列のデータは、シリーズ(Series)と呼ばれる1次元のデータ構造になります。

2.3 データの取得と参照

データフレームのデータを取得する方法には複数の方法があります。ラベル指定による参照では、インデックス名やカラム名を指定してデータを取得します。位置指定による参照では、番号を指定してデータを取得します。

具体的な使い方については、後続のセクションで詳しく説明します。

2.4 DataFrameの基本構造のまとめ

データフレームは2次元のデータを扱うために開発されたデータ構造であり、行と列でデータが表現されます。データの取得や参照にはインデックスとカラムを指定することができます。データの取得にはラベル指定や位置指定などの方法があります。

この基本的なDataFrameの構造を理解することは、データの効率的な取り扱いにおいて非常に重要です。次のセクションでは、DataFrameのデータの取得方法について詳しく説明していきます。

3. 基本的なデータの参照方法

data

データフレームのデータを取得する方法には、名前による参照方法と番号による参照方法の2種類があります。

3.1 ラベル指定による参照

ラベル指定による参照では、行や列の名前を使用してデータを取得します。以下は使用する方法です。

1列のみを参照する方法

1列のデータを参照する際には、次のように記述します。
python
df['列名']

例えば、total_bill列のデータを取得するには、以下のように記述します。
python
df['total_bill']

複数列を参照する方法

複数列のデータを参照する際には、列名をリストで指定します。
python
df[['列名1', '列名2', '列名3']]

例えば、total_bill, tip, size列のデータを取得するには、以下のように記述します。
python
df[['total_bill', 'tip', 'size']]

3.2 位置指定による参照

位置指定による参照では、行や列の番号を使用してデータを取得します。以下は使用する方法です。

1行または1列を参照する方法

1行または1列のデータを参照する際には、.ilocを使用します。次のように記述します。
python
df.iloc[行番号, 列番号]

例えば、3行目のデータを取得するには、以下のように記述します。
python
df.iloc[2]

また、特定の列のデータを取得するには、次のように記述します。
python
df.iloc[:, 1]

複数行または複数列を参照する方法

複数行または複数列のデータを参照する際には、.ilocを使用します。次のように記述します。
python
df.iloc[開始行:終了行, 開始列:終了列]

例えば、5行目から9行目、1列から3列のデータを取得するには、以下のように記述します。
python
df.iloc[4:9, 0:3]

以上のように、ラベル指定や位置指定を使用することで、データフレームに格納されたデータを取得することができます。次のセクションでは、条件を指定してデータを参照する方法について学んでいきます。

3.1 ラベル指定による参照

data

DataFrameを操作する際に、データの参照方法の一つとしてラベル指定があります。ラベル指定は行や列を指定するための方法であり、locを使って行ったり列を指定します。

3.1.1 行のラベル指定

行のラベル指定では、locを使ってデータフレームの特定の行を抽出することができます。具体的には、df.loc[行のラベル]という形で行のデータを取得することができます。

以下は例です。

“`python
import pandas as pd

DataFrameの作成

df = pd.DataFrame({‘A’: [1, 2, 3],
‘B’: [4, 5, 6],
‘C’: [7, 8, 9]},
index=[‘X’, ‘Y’, ‘Z’])

ラベル指定による行の抽出

row_y = df.loc[‘Y’]
print(row_y)
“`

出力結果は以下の通りです。

A 2
B 5
C 8
Name: Y, dtype: int64

このように、locを使って行のラベルを指定することで、特定の行を抽出することができます。

3.1.2 列のラベル指定

列のラベル指定では、locを使ってデータフレームの特定の列を抽出することができます。具体的には、df.loc[:, 列のラベル]という形で列のデータを取得することができます。

以下は例です。

“`python
import pandas as pd

DataFrameの作成

df = pd.DataFrame({‘A’: [1, 2, 3],
‘B’: [4, 5, 6],
‘C’: [7, 8, 9]},
index=[‘X’, ‘Y’, ‘Z’])

ラベル指定による列の抽出

column_b = df.loc[:, ‘B’]
print(column_b)
“`

出力結果は以下の通りです。

X 4
Y 5
Z 6
Name: B, dtype: int64

このように、locを使って列のラベルを指定することで、特定の列を抽出することができます。

3.1.3 行と列の同時指定

また、特定の行と列を同時に指定してデータを抽出することもできます。具体的には、df.loc[行のラベル, 列のラベル]という形で行と列を指定することができます。

以下は例です。

“`python
import pandas as pd

DataFrameの作成

df = pd.DataFrame({‘A’: [1, 2, 3],
‘B’: [4, 5, 6],
‘C’: [7, 8, 9]},
index=[‘X’, ‘Y’, ‘Z’])

ラベル指定による行と列の抽出

element_y_b = df.loc[‘Y’, ‘B’]
print(element_y_b)
“`

出力結果は以下の通りです。

5

このように、locを使って行と列を同時に指定することで、特定のデータを抽出することができます。

ラベル指定によるデータの参照は、データフレームの特定の要素を簡単に取得するための重要な手法です。ぜひ活用してみてください。

3.2 位置指定による参照

data analysis

DataFrameから特定の値を抜き出すためには、位置指定による参照を使用することができます。位置指定では、行番号と列番号を指定して要素を参照します。

位置指定による参照を行うためには、ilocを使用します。以下のような形式で要素を参照することができます。

python
変数名.iloc[行番号, 列番号]

たとえば、0行目2列目の要素を参照したい場合は、以下のように記述します。

python
df.iloc[0, 2]

この場合、出力される結果は110となります。

また、位置指定による参照では、スライスを使用することもできます。行番号を1行ごとにスキップし、列番号を1列目以上3列目未満として要素を参照するには、以下のように記述します。

python
df.iloc[::2, 1:3]

この場合、次のような結果が得られます。

python
age blood_pressure
0 22 110
2 24 104
4 27 108

位置指定による参照は、特定の要素を簡単に抽出するための便利な方法です。他にもさまざまな参照方法が存在しますので、必要に応じて適切な方法を選択しましょう。

注意点として、位置指定による参照ではスライス表記を使用する必要があります。単独の行番号を指定した場合はエラーとなるため、注意が必要です。

以上が、位置指定による参照についての解説です。次のセクションでは、条件を指定した参照について詳しく見ていきます。

まとめ

DataFrameはPandasライブラリの中心的なデータ構造であり、2次元のデータを効率的に操作できます。DataFrameの基本構造を理解し、ラベル指定や位置指定による参照方法を身につけることは、データ分析において重要です。また、条件を使ってデータの参照を行うことで、目的に応じたデータの抽出が可能になります。DataFrameの機能を最大限に活用することで、Pythonでのデータ処理が格段に捗るでしょう。本記事で学習した内容を実践し、データ分析の幅を広げていきましょう。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

 大学卒業後、デジタルマーケティング企業に入社し、BtoBマーケティングのコンサルに従事。200社以上のコンサルティング経験に加え、ウェビナー・ワークショップ・Academyサイトの立ち上げに携わり、年間40件のイベント登壇と70件の学習コンテンツ制作を担当。
 その後、起業を志す中で、施策先行型のサービス展開ではなく企業の本質的な体質改善を促せる事業を展開できるよう、AI/DX分野において実績のあるAIソリューション企業へ転職。
 現在はAIソリューション企業に所属しながら、個人としてもAI×マーケティング分野で”未経験でもわかりやすく”をコンセプトに情報発信活動やカジュアル相談を実施中。

目次