Pandasによるデータフレームの操作 | データフレームの操作 | Python本格超入門

現在作成中です。今後加筆修正してまいります。
スポンサーリンク
スポンサーリンク

Pandasによるデータフレームの操作

Pandasは、Pythonでデータ解析を行うための強力なライブラリで、特にデータフレーム(DataFrame)の操作に優れています。この章では、Pandasを使用したデータフレームの基本的な操作について学びます。データフレームの生成、列や行の操作、フィルタリング、集計などの基本的な操作方法を紹介します。

データフレームの生成

データフレームは、辞書、リスト、NumPy配列、CSVファイルなどから生成できます。以下に、基本的なデータフレーム生成の例を示します。

import pandas as pd

# 辞書からデータフレームを生成
data = {
    '名前': ['田中', '佐藤', '鈴木'],
    '年齢': [24, 30, 28],
    '職業': ['エンジニア', 'デザイナー', 'データサイエンティスト']
}

df = pd.DataFrame(data)

# データフレームの表示
print(df)

コードの説明

  • pd.DataFrame:辞書をデータフレームに変換します。
  • data:列名をキーとして、リストを値として持つ辞書です。
  • df:生成されたデータフレームです。

列の操作

データフレームの列に対して追加、削除、名前の変更などの操作が可能です。

import pandas as pd

# データフレームの生成
data = {
    '名前': ['田中', '佐藤', '鈴木'],
    '年齢': [24, 30, 28],
    '職業': ['エンジニア', 'デザイナー', 'データサイエンティスト']
}

df = pd.DataFrame(data)

# 列の追加
df['年収'] = [500, 600, 550]

# 列の削除
df = df.drop('年収', axis=1)

# 列名の変更
df = df.rename(columns={'名前': '氏名'})

# データフレームの表示
print(df)

コードの説明

  • df['年収']:新しい列を追加し、各行に年収のデータを追加します。
  • df.drop:指定した列を削除します。axis=1は列を意味します。
  • df.rename:列名を変更します。

行の操作

行に対しても追加や削除が可能です。インデックスを指定して特定の行を操作します。

import pandas as pd

# データフレームの生成
data = {
    '名前': ['田中', '佐藤', '鈴木'],
    '年齢': [24, 30, 28],
    '職業': ['エンジニア', 'デザイナー', 'データサイエンティスト']
}

df = pd.DataFrame(data)

# 行の追加
new_row = pd.DataFrame({'名前': ['山田'], '年齢': [26], '職業': ['マーケター']})
df = pd.concat([df, new_row], ignore_index=True)

# 行の削除(インデックスで削除)
df = df.drop(2)

# データフレームの表示
print(df)

コードの説明

  • pd.concat:新しい行をデータフレームに追加します。ignore_index=Trueでインデックスのリセットを行います。
  • df.drop:指定したインデックスの行を削除します。

データのフィルタリング

条件に基づいて、データフレームの行をフィルタリングできます。

import pandas as pd

# データフレームの生成
data = {
    '名前': ['田中', '佐藤', '鈴木', '山田'],
    '年齢': [24, 30, 28, 26],
    '職業': ['エンジニア', 'デザイナー', 'データサイエンティスト', 'マーケター']
}

df = pd.DataFrame(data)

# 年齢が30以上の行をフィルタリング
filtered_df = df[df['年齢'] >= 30]

# データフレームの表示
print(filtered_df)

コードの説明

  • df[df['年齢'] >= 30]:条件に基づいてデータフレームをフィルタリングします。ここでは年齢が30以上の行を抽出しています。

集計操作

データフレームの数値データに対して、集計操作を行うことが可能です。平均、合計、最小値、最大値などを計算できます。

import pandas as pd

# データフレームの生成
data = {
    '名前': ['田中', '佐藤', '鈴木', '山田'],
    '年齢': [24, 30, 28, 26],
    '職業': ['エンジニア', 'デザイナー', 'データサイエンティスト', 'マーケター']
}

df = pd.DataFrame(data)

# 平均年齢を計算
mean_age = df['年齢'].mean()

# 最大年齢を取得
max_age = df['年齢'].max()

# 結果を表示
print(f'平均年齢: {mean_age}, 最大年齢: {max_age}')

コードの説明

  • df['年齢'].mean()年齢列の平均値を計算します。
  • df['年齢'].max()年齢列の最大値を取得します。

まとめ

Pandasを使ったデータフレームの操作は、データ解析や処理において強力なツールです。データフレームの生成、列や行の操作、データのフィルタリング、集計操作を通じて、データを効率的に処理できることを学びました。これらの基本的な操作をマスターすることで、より複雑なデータ処理を行う際にも柔軟に対応できます。

Amazonロゴ
   
ad.価格範囲を指定して商品を探せます。セールで助かる便利ツール
本格超入門
スポンサーリンク
このページをメモ、または、シェア