データ解析の基本!pandasを使ったDataFrameの作成方法

データ解析において、データを扱う上で欠かせないのがpandasです。pandasはPythonのライブラリであり、データを扱う上で様々な便利な機能を提供しています。この記事では、pandasを使ったDataFrameの作成方法を紹介します。

pandasの基本的な概念とインストール方法

pandasは、Pythonのライブラリであり、データを扱う上で便利な機能を提供しています。pandasを使用するには、まずpandasをインストールする必要があります。pandasをインストールするには、以下のコマンドを使用します。

!pip install pandas

pandasでのデータの取り扱い方

pandasは、SeriesとDataFrameという2つのデータ構造を提供しています。Seriesは、1次元のデータを表し、DataFrameは、2次元のデータを表します。

pandasでデータを扱うには、まずデータを読み込む必要があります。pandasは、CSV、Excel、SQL、JSON、HTMLなどの様々な形式のデータを読み込むことができます。ここでは、CSVファイルを読み込む方法を紹介します。

CSVファイルを読み込むには、pandasのread_csv()関数を使用します。以下の例では、sample.csvというファイルを読み込んでいます。

import pandas as pd
df = pd.read_csv('sample.csv')

pandasを使ったDataFrameの作成方法

DataFrameを作成するには、pandasのDataFrame()関数を使用します。DataFrame()関数には、辞書、リスト、NumPyの配列などの形式でデータを渡すことができます。

以下の例では、リストからDataFrameを作成しています。

import pandas as pd
data = [['Alice', 25], ['Bob', 30], ['Charlie', 35]]
df = pd.DataFrame(data, columns=['Name', 'Age'])
print(df)

上記のコードでは、リストdataからDataFrameを作成し、columnsでカラム名を指定しています。

DataFrameの基本的な操作方法

DataFrameには、インデックス、カラム、値の3つの要素があります。それぞれの要素にアクセスする方法を紹介します。

インデックス

インデックスには、loc、iloc、ixという3つの属性があります。locは、ラベル名を使って行や列にアクセスするために使用され、ilocは、行や列の位置を使用してアクセスするために使用されます。ixは、locとilocの両方の機能を持っていますが、非推奨となっています。

以下の例では、locを使用して、行を取得しています。

import pandas as pd
data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data)
print(df.loc[0])

カラム

カラムにアクセスするには、カラム名を使用します。

以下の例では、Nameカラムを取得しています。

import pandas as pd
data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data)
print(df['Name'])

値にアクセスするには、at、iat、loc、ilocを使用します。

以下の例では、iatを使用して、2行目2列目の値を取得しています。

import pandas as pd
data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data)
print(df.iat[1, 1])

DataFrameのデータを整形する方法

DataFrameのデータを整形するには、様々な方法があります。ここでは、いくつかの方法を紹介します。

欠損値の処理

DataFrameには、欠損値が含まれることがあります。欠損値を処理するには、fillna()関数を使用します。

以下の例では、Ageカラムの欠損値を平均値で埋めています。

import pandas as pd
import numpy as np
data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, np.nan, 35]}
df = pd.DataFrame(data)
df['Age'].fillna(df['Age'].mean(), inplace=True)
print(df)

重複データの処理

DataFrameには、重複したデータが含まれることがあります。重複したデータを処理するには、duplicated()関数とdrop_duplicates()関数を使用します。

以下の例では、Nameカラムが重複しているデータを削除しています。

import pandas as pd
data = {'Name': ['Alice', 'Bob', 'Charlie', 'Alice'], 'Age': [25, 30, 35, 40]}
df = pd.DataFrame(data)
df.drop_duplicates(subset=['Name'], inplace=True)
print(df)

pandasを使ったデータ解析の実例

pandasを使用して、データ解析を行うことができます。以下の例では、pandasを使用して、ある店舗の売上データを分析しています。

まずは、データを読み込みます。

import pandas as pd
df = pd.read_csv('sales.csv')

次に、データの要約統計量を確認します。

print(df.describe())

次に、各店舗の売上状況を確認します。

store_sales = df.groupby('Store')['Sales'].sum()
print(store_sales)

最後に、各商品の売上状況を確認します。

product_sales = df.groupby('Product')['Sales'].sum()
print(product_sales)

まとめ

pandasは、データ解析に欠かせないライブラリであり、データの読み込み、加工、分析に様々な便利な機能を提供しています。本記事では、pandasを使用してDataFrameを作成する方法、DataFrameの基本的な操作方法、DataFrameのデータを整形する方法、そしてpandasを使用したデータ解析の実例を紹介しました。

これらの機能を使いこなすことで、効率的なデータ解析を行うことができます。