器用貧乏の独り言

器用貧乏なおっさんが気の向くままに。

【Python】Pandasの基本操作:データフレームの作成と操作方法

◇前置き

Pandasは、データ解析や処理を行う際に非常に強力なツールです。

その中でも、データフレームはPandasの重要なデータ構造の一つであり、データの整理や操作に便利です。

今日はデータフレームの基本的な扱い方について紹介します。

◇データフレームの基本操作

1. データフレームの作成方法

リストや配列からデータフレーム作成
import pandas as pd

data = [['John', 25, 'Male'], ['Lisa', 30, 'Female'], ['Mike', 21, 'Male']]

df = pd.DataFrame(data, columns=['Name', 'Age', 'Gender'])
print(df)
CSVExcelファイルの読み込み
import pandas as pd

# CSVファイルからの読み込み
df_csv = pd.read_csv('data.csv')

# Excelファイルからの読み込み
df_excel = pd.read_excel('data.xlsx')

print(df_csv)
print(df_excel)

辞書やシリーズからデータフレーム作成

import pandas as pd

# 辞書からの作成
data_dict = {'Name': ['John', 'Lisa', 'Mike'], 'Age': [25, 30, 21], 'Gender': ['Male', 'Female', 'Male']}
df_dict = pd.DataFrame(data_dict)
print(df_dict)

# シリーズからの作成
name = pd.Series(['John', 'Lisa', 'Mike'])
age = pd.Series([25, 30, 21])
gender = pd.Series(['Male', 'Female', 'Male'])
df_series = pd.DataFrame({'Name': name, 'Age': age, 'Gender': gender})
print(df_series)

2. データフレームの基本操作

データの参照とスライシング
import pandas as pd

# 列の参照
print(df['Name'])

# 複数の列の参照
print(df[['Name', 'Age']])

# 行の参照
print(df.loc[0])

# 条件に基づく行のフィルタリング
filtered_df = df[df['Age'] > 25]
print(filtered_df)
列の追加と削除
import pandas as pd

# 列の追加
df['City'] = ['Tokyo', 'New York', 'London']

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

print(df)
行の追加と削除
import pandas as pd

# 行の追加
new_row = pd.Series(['Emily', 27, 'Female'], index=['Name', 'Age', 'Gender'])
df = df.append(new_row, ignore_index=True)

# 行の削除
df = df.drop(2)

print(df)
データのフィルタリングとクエリ
import pandas as pd

# 条件に基づくデータのフィルタリング
filtered_df = df[df['Age'] > 25]

# 複数条件の組み合わせ
filtered_df = df[(df['Age'] > 25) & (df['Gender'] == 'Male')]

# クエリの使用
filtered_df = df.query("Age > 25 and Gender == 'Male'")

print(filtered_df)

3. データフレームの集計と統計

カラムの統計情報の計算
import pandas as pd

# カラムの平均値
mean_age = df['Age'].mean()

# カラムの最大値
max_age = df['Age'].max()

# カラムの最小値
min_age = df['Age'].min()

print("Mean Age:", mean_age)
print("Max Age:", max_age)
print("Min Age:", min_age)
グループ化と集約
import pandas as pd

# カテゴリごとの平均年齢
mean_age_by_gender = df.groupby('Gender')['Age'].mean()

# カテゴリごとの人数
count_by_gender = df.groupby('Gender').size()

print("Mean Age by Gender:")
print(mean_age_by_gender)
print("Count by Gender:")
print(count_by_gender)
ピボットテーブルの作成
import pandas as pd

# ピボットテーブルの作成
pivot_table = pd.pivot_table(df, values='Age', index='Gender', columns='City', aggfunc='mean')

print(pivot_table)

◇最後に

Pandasの基本操作としてよく使うサンプルコードを紹介したつもりです。

これらのコードを使いこなすことで、データフレームの基本的な操作方法について理解を深めることができます。

この記事も誰かの役に立つと嬉しいです。