Pythonでデータフレームを使った条件分岐とループ処理の実践ガイド

この記事では、Pythonでデータフレームを使用した条件分岐とループ処理について解説します。具体的なコード例とその詳細な解説、さらには応用例を2つ以上含めます。この記事を通じて、より効率的なデータ処理のテクニックを磨いていきましょう。

目次

はじめに

Pythonでのデータ処理には、データフレームが頻繁に使用されます。特に、pandasライブラリに実装されているDataFrameは、表形式のデータを効率よく扱うための便利なツールです。しかし、データフレーム内で条件分岐やループ処理を行う方法は多くの人が知らない場合もあります。

基本的な条件分岐

条件分岐は、特定の条件に基づいて処理を振り分けるために使用されます。以下に、簡単な条件分岐の例を示します。

基本的な条件分岐のコード例

import pandas as pd

# サンプルデータの作成
df = pd.DataFrame({
    'name': ['Alice', 'Bob', 'Charlie', 'David'],
    'age': [24, 27, 22, 32],
    'job': ['Engineer', 'Designer', 'Developer', 'Manager']
})

# ageが25以上の行だけを抽出
df_filtered = df[df['age'] >= 25]

print(df_filtered)

基本的な条件分岐の解説

このコードでは、pandasライブラリを使用しています。まず、`pd.DataFrame`でデータフレーム`df`を作成しています。その後、`df[‘age’] >= 25`という条件を指定して、ageが25以上の行だけを抽出しています。

基本的なループ処理

ループ処理は、同じ処理を繰り返し実行するために使用されます。以下に、簡単なループ処理の例を示します。

基本的なループ処理のコード例

# 各行に対して処理を行う
for index, row in df.iterrows():
    # 年齢が25以上の場合に「Senior」とラベル付け
    if row['age'] >= 25:
        print(f"{row['name']} is Senior.")
    else:
        print(f"{row['name']} is Junior.")

基本的なループ処理の解説

このコードでは、`df.iterrows()`を使用してデータフレームの各行に対して処理を行っています。具体的には、年齢が25以上の場合は「Senior」と表示し、それ以外は「Junior」と表示しています。

応用例

次に、応用例として2つのシナリオを考えます。

応用例1: 複数条件の分岐

# 年齢と職種に基づいて条件分岐
for index, row in df.iterrows():
    if row['age'] >= 25 and row['job'] == 'Engineer':
        print(f"{row['name']} is a Senior Engineer.")
    else:
        print(f"{row['name']} is not a Senior Engineer.")

応用例1の解説

このコードでは、年齢と職種に基づいて条件分岐を行っています。具体的には、年齢が25以上で職種がEngineerの場合は「Senior Engineer」と表示しています。

応用例2: データフレームの更新

# 新しいカラムを追加して条件に応じて値を設定
df['label'] = 'Unknown'
for index, row in df.iterrows():
    if row['age'] >= 25:
        df.at[index, 'label'] = 'Senior'
    else:
        df.at[index, 'label'] = 'Junior'
print(df)

応用例2の解説

このコードでは、新しいカラム`label`を追加し、その後で年齢に基づいて`Senior`か`Junior`という値を設定しています。

まとめ

Pythonでのデータフレームを用いた条件分岐とループ処理は非常に有用なスキルです。特に、大量のデータを効率よく処理する必要がある場合には、このようなテクニックが役立ちます。本記事で解説した基本的な手法から応用例まで、ぜひ参考にしてください。

コメント

コメントする

目次