1. はじめに
Pandasとは
Pandasは、Pythonでデータを扱うためのライブラリの1つであり、主にテーブル形式のデータ(データフレーム)を扱うために使用されます。
Pandasの重要性
PandasはPythonでデータ分析を行う上で非常に重要な役割を担っています。そのため、Pythonでデータ分析を行う場合には、Pandasを熟練することが不可欠となっています。
2. データの読み込み
Pandasを使って、CSV、Excel、SQL、JSON、HTML、SQL、テキストファイルなど、様々な形式のデータを読み込むことができます。
import pandas as pd
# CSVファイルを読み込む
csv_data = pd.read_csv('sample.csv')
# Excelファイルを読み込む
excel_data = pd.read_excel('sample.xlsx')
# SQLiteのテーブルを読み込む
import sqlite3
connect = sqlite3.connect('sample.db')
table_data = pd.read_sql('SELECT * FROM sample_table', connect)
# JSONファイルを読み込む
import json
with open('sample.json', 'r') as f:
json_data = pd.json_normalize(json.load(f))
3. データの確認
Pandasで読み込んだデータを確認する方法を説明します。
import pandas as pd
# データ読み込み
df = pd.read_csv('sample.csv')
# データの先頭5行を表示
print(df.head())
# データの大きさを確認
print(df.shape)
# 列ごとのデータ型を確認
print(df.dtypes)
# 欠損値の有無を確認
print(df.isnull().sum())
4. データの選択
Pandasでデータフレームから欲しいデータを選択する方法を説明します。
import pandas as pd
# データ読み込み
df = pd.read_csv('sample.csv')
# 特定の列のみを選択
print(df['column_name'])
# 条件を指定してデータを抽出
print(df[df['column_name'] == 1])
# 複数の条件を指定してデータを抽出
print(df[(df['column_1'] == 1) & (df['column_2'] == 2)])
# 複数の列を選択
print(df[['column_1', 'column_2']]])
# 行の範囲を指定して選択
print(df.loc[1:3])
# 行列の範囲を指定して選択
print(df.loc[1:3, ['column_1', 'column_2']])
5. データのクリーニング
データフレームの欠損値、重複データ、異常値などを処理する方法を説明します。
import pandas as pd
# データ読み込み
df = pd.read_csv('sample.csv')
# 欠損値の処理
df.dropna(inplace=True)
# 重複データの削除
df.drop_duplicates(inplace=True)
# 列名の変更
df.rename(columns={'old_name': 'new_name'}, inplace=True)
# インデックスの変更
df.set_index('column_name', inplace=True)
# 列の型の変更
df['column_name'] = df['column_name'].astype('int')
# データのソート
df.sort_values('column_name', inplace=True)
6. データの加工
Pandasでデータフレームに新しい列を追加し、既存の列を変更する方法を説明します。
import pandas as pd
# データ読み込み
df = pd.read_csv('sample.csv')
# 新しい列の追加
df['new_column'] = df['column_1'] + df['column_2']
# 既存の列の変更
df['column_name'] = df['column_name'] * 2
# データの結合
df1 = pd.read_csv('data1.csv')
df2 = pd.read_csv('data2.csv')
merged_data = pd.merge(df1, df2, on='key_column')
# データの分割
df[['new_column_1', 'new_column_2']] = df['column_name'].str.split('-', expand=True)
7. データの分析
Pandasでデータを集計、グループ化、結合、変換、フィルタリングする方法を説明します。
import pandas as pd
# データ読み込み
df = pd.read_csv('sample.csv')
# データの集計
df.groupby('column_name').sum()
# データのグループ化
df.groupby(['column_name_1', 'column_name_2']).mean()
# データの変換
df['new_column'] = df['column_name'].apply(lambda x: x ** 2)
# データのフィルタリング
df[(df['column_name'] > 10) & (df['column_name'] < 20)]
8. データの可視化
MatplotlibやSeabornを使って、Pandasで読み込んだデータを可視化する方法を説明します。
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
# データ読み込み
df = pd.read_csv('sample.csv')
# データの可視化(折れ線グラフ)
plt.plot(df['column_name'])
plt.show()
# データの可視化(ヒストグラム)
plt.hist(df['column_name'], bins=10)
plt.show()
# データの可視化(散布図)
sns.scatterplot(x='column_1', y='column_2', data=df)
plt.show()
9. データの保存
Pandasで変換や加工したデータを、CSV、Excel、JSONなどのファイル形式で保存する方法を説明します。
import pandas as pd
# データ読み込み
df = pd.read_csv('sample.csv')
# CSVファイルとして保存する
df.to_csv('new_sample.csv')
# Excelファイルとして保存する
df.to_excel('new_sample.xlsx')
# JSONファイルとして保存する
df.to_json('new_sample.json')
10. まとめ
Pandasは、Pythonでデータ分析を行うための重要なツールであり、多種多様な操作が可能です。基本操作については、本記事で確認したので、ここからは応用的な操作やカスタマイズ方法を学んでいくことが重要です。
コメント