【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)
辞書やシリーズからデータフレーム作成
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の基本操作としてよく使うサンプルコードを紹介したつもりです。
これらのコードを使いこなすことで、データフレームの基本的な操作方法について理解を深めることができます。
この記事も誰かの役に立つと嬉しいです。