はじめに
Pythonのデータ分析ライブラリ「pandas」は、データの読み込みから加工、分析まで幅広く活用できます。本記事では、pandasの基本的なデータ操作について、わかりやすくまとめました。データ分析を始める上で知っておきたい操作方法を網羅していますので、ぜひ参考にしてください。
1. pandasとは
pandasは、Pythonでデータ分析を行うための強力なライブラリです。主な特徴は以下の通りです。
- データフレーム(DataFrame):行と列からなるデータ構造で、Excelのようなデータ操作が可能
- データの読み込み・書き出し:CSVやExcel、SQLデータベースなど様々な形式に対応
- 高速なデータ操作:大規模なデータでも効率的に処理
2. データの読み込みと書き出し
CSVファイルの読み込み
import pandas as pd
# CSVファイルを読み込む
df = pd.read_csv('data.csv')
Excelファイルの読み込み
# Excelファイルを読み込む
df = pd.read_excel('data.xlsx')
データの書き出し
# CSVファイルとして書き出す
df.to_csv('output.csv', index=False)
# Excelファイルとして書き出す
df.to_excel('output.xlsx', index=False)
3. データフレームの作成
リストや辞書からデータフレームを作成
# 辞書からデータフレームを作成
data = {'名前': ['太郎', '花子', '次郎'],
'年齢': [25, 30, 22]}
df = pd.DataFrame(data)
print(df)
出力:
名前 年齢
0 太郎 25
1 花子 30
2 次郎 22
4. データの確認方法
データの先頭・末尾を表示
# 先頭5行を表示
print(df.head())
# 末尾5行を表示
print(df.tail())
データの基本情報を表示
# データの情報を表示
print(df.info())
# 統計量を表示
print(df.describe())
5. 列・行の選択と抽出
特定の列を選択
# '名前'列を選択
names = df['名前']
print(names)
複数の列を選択
# '名前'と'年齢'列を選択
df_selected = df[['名前', '年齢']]
print(df_selected)
行の選択(インデックス指定)
# インデックスが0の行を選択
row = df.loc[0]
print(row)
6. データのフィルタリング
条件に基づくデータの抽出
# 年齢が25以上のデータを抽出
df_filtered = df[df['年齢'] >= 25]
print(df_filtered)
7. データの並べ替え(ソート)
値に基づく並べ替え
# 年齢の昇順で並べ替え
df_sorted = df.sort_values('年齢')
print(df_sorted)
複数の列で並べ替え
# '年齢'の降順、'名前'の昇順で並べ替え
df_sorted = df.sort_values(['年齢', '名前'], ascending=[False, True])
print(df_sorted)
8. 欠損値の処理
欠損値を持つデータフレームの作成
import numpy as np
data = {'名前': ['太郎', '花子', '次郎'],
'年齢': [25, np.nan, 22]}
df = pd.DataFrame(data)
欠損値の確認
# 欠損値の数を確認
print(df.isnull().sum())
欠損値の削除
# 欠損値を含む行を削除
df_dropped = df.dropna()
欠損値の補完
# 欠損値を平均値で補完
df_filled = df.fillna(df['年齢'].mean())
9. 新しい列・行の追加
新しい列の追加
# '得点'列を追加
df['得点'] = [85, 90, 78]
計算結果を新しい列として追加
# '年齢'を2倍した値を'年齢×2'列として追加
df['年齢×2'] = df['年齢'] * 2
新しい行の追加
# 新しい行を追加
df = df.append({'名前': '四郎', '年齢': 24, '得点': 82}, ignore_index=True)
10. グループ化と集計
グループ化して集計
# '名前'でグループ化して'得点'の平均を計算
df_grouped = df.groupby('名前')['得点'].mean()
print(df_grouped)
11. データの結合・マージ
データの結合(縦方向)
# データフレームを縦に結合
df_combined = pd.concat([df1, df2])
データのマージ(横方向)
# 共通のキーでデータフレームをマージ
df_merged = pd.merge(df_left, df_right, on='キー列')
12. まとめ
pandasを使った基本的なデータ操作について解説しました。これらの操作を習得することで、データの読み込みから加工、分析まで一連の流れを効率的に進めることができます。
- データの読み込みと書き出し:様々な形式に対応
- データの確認と抽出:データの理解と必要な部分の抽出
- データの加工:フィルタリング、並べ替え、欠損値処理など
- データの統合と集計:グループ化やデータの結合で高度な分析
13. 関連キーワード
- pandas 使い方
- pandas データ操作
- pandas データフレーム
- Python データ分析
- pandas 入門
- データ読み込み
- データ前処理
- データフィルタリング
- 欠損値処理
- データマージ
さらに学ぶ
ご注意:本記事は情報提供を目的としており、特定の行動を推奨するものではありません。実際のデータ分析においては、データの性質や目的に応じて適切な方法を選択してください。