非IT企業に勤める中年サラリーマンのIT日記

非IT企業でしかもITとは全く関係ない部署にいる中年エンジニア。唯一の趣味がプログラミングという”自称”プログラマー。

【Python】DataFrameをNumPyに変換するとインデックス名・カラム名は保持されないので注意

      2024/12/26

PandasのDataFrameをNumPy配列に変換したい場合はvalues属性を使うと簡単に実現できます。ただし、この方法ではインデックス名やカラム名が保持されない点に注意が必要です。具体的なプログラム例とともに変換時の特徴や活用方法を書き留めておきます。

プログラム例
import pandas as pd
import numpy as np

# サンプルのDataFrameを作成
data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35],
    'Score': [85.5, 90.0, 95.5]
}
df = pd.DataFrame(data)

# DataFrameをNumPy配列に変換
array = df.values

# 結果を表示
print("DataFrame:")
print(df)
print("\nNumPy配列:")
print(array)

# 型を確認
print("\n型:", type(array))
 

 

実行結果
DataFrame:
      Name  Age  Score
0    Alice   25   85.5
1      Bob   30   90.0
2  Charlie   35   95.5

NumPy配列:
[['Alice' 25 85.5]
 ['Bob' 30 90.0]
 ['Charlie' 35 95.5]]

型: <class 'numpy.ndarray'>
 

 

ポイント
  • インデックスやカラム名は保持されない
    • NumPy配列に変換された結果には、DataFrameに含まれるインデックスやカラム名が含まれません。そのため、必要であれば変換前にこれらを別途保存する必要があります。
  • データ型が混在する場合
    • DataFrameに異なるデータ型(例: 文字列と数値)が含まれている場合、NumPy配列のデータ型は最も汎用的な型(この場合はobject)になります。

 

スポンサーリンク

 - Python