0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Pandas入門【データ分析ライブラリ三種の神器②】

Last updated at Posted at 2023-05-07

はじめに

データ分析ライブラリ三種の神器である「Numpy」「Pandas」「Matplotlib」についての入門記事です。ソースコードはこちら

Numpy入門【データ分析ライブラリ三種の神器①】
Pandas入門【データ分析ライブラリ三種の神器②】
Matplotlib入門【データ分析ライブラリ三種の神器③】

Pandasは、Pythonでデータ解析を行うための強力なライブラリです。主に2種類のデータ構造であるSeriesDataFrameを提供し、データの操作や変換が容易になります。

1. インストールとインポート

Pandasを使用する前に、まずライブラリをインストールする必要があります。インストールは以下のコマンドで行います。

pip install pandas

インストールが完了したら、Pandasをインポートします。

import pandas as pd

2. Series

Seriesは、Pandasで提供される1次元のデータ構造です。リストや辞書を使って簡単に作成できます。

data = [1, 2, 3, 4, 5]
s = pd.Series(data)
print(s)

出力:

0    1
1    2
2    3
3    4
4    5
dtype: int64

3. DataFrame

DataFrameは、Pandasで提供される2次元のデータ構造で、表形式のデータを扱うのに適しています。リストや辞書を使って作成できます。

data = {'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}
df = pd.DataFrame(data)
print(df)

出力:

   A  B  C
0  1  4  7
1  2  5  8
2  3  6  9

4. CSVファイルの読み込みと書き込み

Pandasを使用して、CSVファイルを簡単に読み込んだり書き込んだりできます。

4.1 CSVファイルの読み込み

df = pd.read_csv('sample.csv')
print(df)

4.2 CSVファイルへの書き込み

df.to_csv('output.csv', index=False)

5. データの選択と操作

5.1 カラムの選択

col_A = df['A']
print(col_A)

5.2 行の選択

row_1 = df.loc[1]
print(row_1)

5.3 条件による選択

filtered_df = df[df['A'] > 1]
print(filtered_df)

6. データの統計情報

Pandasを使用すると、データの統計情報を簡単に取得できます。以下に一部の統計情報の取得方法を紹介します。

6.1 基本的な統計情報

stats = df.describe()
print(stats)

6.2 平均値

mean = df.mean()
print(mean)

6.3 中央値

median = df.median()
print(median)

6.4 最大値・最小値

max_value = df.max()
min_value = df.min()
print(max_value)
print(min_value)

7. データの欠損値処理

データに欠損値が含まれている場合、それを処理する必要があります。Pandasでは、欠損値の検出や処理が容易にできます。

7.1 欠損値の検出

missing_values = df.isnull()
print(missing_values)

7.2 欠損値の削除

df_dropna = df.dropna()
print(df_dropna)

7.3 欠損値の補完

df_filled = df.fillna(value=0)
print(df_filled)

8. データの結合と整形

Pandasでは、複数のデータフレームを結合したり、データを整形することが容易にできます。

8.1 データフレームの結合(横方向)

df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
df2 = pd.DataFrame({'C': [7, 8, 9], 'D': [10, 11, 12]})
df_concat = pd.concat([df1, df2], axis=1)
print(df_concat)

8.2 データフレームの結合(縦方向)

df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
df2 = pd.DataFrame({'A': [7, 8, 9], 'B': [10, 11, 12]})
df_concat = pd.concat([df1, df2], axis=0)
print(df_concat)

8.3 データフレームのマージ

left = pd.DataFrame({'key': ['K0', 'K1', 'K2', 'K3'],
                     'A': ['A0', 'A1', 'A2', 'A3'],
                     'B': ['B0', 'B1', 'B2', 'B3']})

right = pd.DataFrame({'key': ['K0', 'K1', 'K2', 'K3'],
                      'C': ['C0', 'C1', 'C2', 'C3'],
                      'D': ['D0', 'D1', 'D2', 'D3']})

merged = pd.merge(left, right, on='key')
print(merged)

8.4 ピボットテーブルの作成

data = {'A': ['foo', 'foo', 'foo', 'bar', 'bar', 'bar'],
        'B': ['one', 'one', 'two', 'two', 'one', 'one'],
        'C': ['x', 'y', 'x', 'y', 'x', 'y'],
        'D': [1, 2, 3, 4, 5, 6]}

df = pd.DataFrame(data)

pivot_table = df.pivot_table(values='D', index=['A', 'B'], columns=['C'])
print(pivot_table)

これで、Pandasの基本的な使い方を一通り紹介しました。実際のデータ解析では、これらの機能を組み合わせてデータを操作・分析します。Pandasは非常に柔軟で強力なライブラリであるため、ぜひ活用してみてください。

Numpy入門【データ分析ライブラリ三種の神器①】
Pandas入門【データ分析ライブラリ三種の神器②】
Matplotlib入門【データ分析ライブラリ三種の神器③】

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?