Pandas で JSON ファイルを読み込む

Suraj Joshi 2023年1月30日
  1. Pandas DataFrame に JSON ファイルを読み込む
  2. インデックス指向の JSON ファイルを Pandas DataFrame に読み込む
  3. 列指向の JSON ファイルを Pandas の DataFrame に読み込む
Pandas で JSON ファイルを読み込む

このチュートリアルでは、pandas.read_json() メソッドを使って、JSON ファイルを Pandas DataFrame に読み込む方法を説明します。

Pandas DataFrame に JSON ファイルを読み込む

pandas.read_json() 関数に JSON ファイルのパスをパラメータとして渡すことで、pandas.read_json() 関数を使って Pandas DataFrame に JSON ファイルを読み込むことができます。

{
    "Name": {"1": "Anil", "2": "Biraj", "3": "Apil", "4": "Kapil"},
    "Age": {"1": 23, "2": 25, "3": 28, "4": 30},
}

サンプルの data.json ファイルの内容は上のようになります。上記の JSON ファイルから DataFrame を作成します。

import pandas as pd

df = pd.read_json("data.json")

print("DataFrame generated using JSON file:")
print(df)

出力:

DataFrame generated using JSON file:
    Name  Age
1   Anil   23
2  Biraj   25
3   Apil   28
4  Kapil   30

data.json ファイル内のデータから生成された DataFrame を表示します。そうでない場合は、pandas.read_json() メソッドの引数に JSON ファイルのフルパスを指定する必要があります。

JSON ファイルから生成される DataFrame は、JSON ファイルの向きに依存します。JSON ファイルには一般的に 3 種類の向きがあります。

  • インデックス指向
  • 値指向
  • カラム指向

インデックス指向の JSON ファイルを Pandas DataFrame に読み込む

{
    "0": {"Name": "Anil", "Age": 23},
    "1": {"Name": "Biraj", "Age": 25},
    "2": {"Name": "Apil", "Age": 26},
}

トップレベルのキーがデータのインデックスを表すインデックス指向の JSON ファイルの例です。

import pandas as pd

df = pd.read_json("data.json")

print("DataFrame generated from Index Oriented JSON file:")
print(df)

出力:

DataFrame generated from Index Oriented JSON file:
         0      1     2
Name  Anil  Biraj  Apil
Age     23     25    26

トップレベルキーが DataFrame の列として表現された data.json ファイルから DataFrame を作成します。

値指向 JSON ファイルを Pandas DataFrame にロードする

[["Anil", 23], ["Biraj", 25], ["Apil", 26]]

これは、配列の各要素が各行の値を表す値指向の JSON ファイルの例です。

import pandas as pd

df = pd.read_json("data.json")

print("DataFrame generated from Value Oriented JSON file:")
print(df)

出力:

DataFrame generated from Value Oriented JSON file:
       0   1
0   Anil  23
1  Biraj  25
2   Apil  26

これは data.json ファイルから DataFrame を作成し、JSON ファイル内の配列の各要素が DataFrame 内の行として表現されます。

列指向の JSON ファイルを Pandas の DataFrame に読み込む

{"Name": {"1": "Anil", "2": "Biraj", "3": "Apil"}, "Age": {"1": 23, "2": 25, "3": 28}}

データのカラム名を表すカラム指向 JSON ファイルのトップレベルインデックスの例です。

import pandas as pd

df = pd.read_json("data.json")

print("DataFrame generated from  Column Oriented JSON file:")
print(df)

出力:

DataFrame generated from Column Oriented JSON file:
    Name  Age
1   Anil   23
2  Biraj   25
3   Apil   28

data.json ファイルから DataFrame を作成し、その DataFrame のカラム名として JSON ファイルのトップレベルキーが表現されています。

著者: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

関連記事 - Pandas DataFrame