PandasはPythonのデータ操作と分析のためのライブラリであり、特にデータフレーム(DataFrame)とシリーズ(Series)というデータ構造を提供します。
Pandasを使うことで、データの読み込み、クリーニング、変換、可視化、分析が簡単に行えます。
以下では、Pandasを使ったデータ分析の基本的な手法について詳しく説明します。
データの読み込み
Pandasはさまざまなデータ形式からデータを読み込むことができます。
最も一般的な形式はCSVファイルです。
import pandas as pd
# CSVファイルを読み込む
df = pd.read_csv('data.csv')
他にも、Excel、SQLデータベース、JSON、HTMLなどからもデータを読み込むことができます。
データの確認
データを読み込んだら、まずはデータの概要を確認します。
# データフレームの最初の5行を表示
print(df.head())
# データフレームの情報を表示
print(df.info())
# 各列の基本統計量を表示
print(df.describe())
データのクリーニング
データ分析を行う前に、データのクリーニングが必要です。
例えば、欠損値(NaN)の処理や重複行の削除などがあります。
# 欠損値の確認
print(df.isnull().sum())
# 欠損値の削除
df = df.dropna()
# 重複行の削除
df = df.drop_duplicates()
データの操作
Pandasはデータのフィルタリング、ソート、グルーピングなどの操作を簡単に行うことができます。
フィルタリング
特定の条件に基づいてデータをフィルタリングします。
# 'sales'列が100以上の行を抽出
filtered_df = df[df['sales'] >= 100]
ソート
特定の列に基づいてデータをソートします。
# 'sales'列でデータを昇順にソート
sorted_df = df.sort_values(by='sales', ascending=True)
グルーピングと集計
データを特定の列でグルーピングし、集計関数を適用します。
# 'city'列でグルーピングし、'sales'の合計を計算
grouped_df = df.groupby('city')['sales'].sum().reset_index()
データの変換
データの変換には、列の追加・削除やデータの形状変更が含まれます。
列の追加
新しい列を追加します。
# 'total_sales'列を追加し、値を計算
df['total_sales'] = df['sales'] * df['quantity']
データのピボット
データをピボットテーブルに変換します。
# ピボットテーブルの作成
pivot_df = df.pivot_table(values='sales', index='city', columns='month', aggfunc='sum')
データの可視化
PandasはMatplotlibやSeabornなどの可視化ライブラリと連携して、データの視覚化をサポートします。
import matplotlib.pyplot as plt
# 'sales'のヒストグラムを作成
df['sales'].hist(bins=30)
plt.xlabel('Sales')
plt.ylabel('Frequency')
plt.title('Sales Distribution')
plt.show()
# 'city'ごとの'sales'の棒グラフを作成
grouped_df.plot(kind='bar', x='city', y='sales', legend=False)
plt.xlabel('City')
plt.ylabel('Total Sales')
plt.title('Total Sales by City')
plt.show()
まとめ
Pandasを使うことで、データの読み込みからクリーニング、操作、変換、可視化、分析まで一貫して行うことができます。
これにより、データの洞察を得やすくなり、ビジネスや研究における意思決定をサポートします。
以下にPandasの主要な機能をまとめます。
- データの読み込み: CSV、Excel、SQL、JSONなどからデータを読み込む。
- データの確認: データの概要、基本統計量、欠損値の確認。
- データのクリーニング: 欠損値の処理、重複行の削除。
- データの操作: フィルタリング、ソート、グルーピング、集計。
- データの変換: 列の追加・削除、データのピボット。
- データの可視化: MatplotlibやSeabornを使ったデータの視覚化。
これらの機能を活用することで、データ分析の効率と精度を大幅に向上させることができます。
以上、Pandasのデータ分析についてでした。
最後までお読みいただき、ありがとうございました。