Pandasのデータ型であるDataFrame型の初期化について記載する。ここではリスト型、辞書型、Numpy型からの初期化を対象とする。
この記事を読んでわかること
- リスト型、辞書型、Numpy型からDataFrame型への変換(DataFrame型の初期化)
先にまとめ
※pd = pandas, np = numpy
ケース | コード | コード(左)のdataの中身 |
---|---|---|
リスト型からの初期化 | pd.DataFrame(data, columns=[“列名A”, “列名B“…] ) | [[A1,B1],[A2,B2],..] |
辞書(dict)型からの初期化 | pd.DataFrame(data) | {“列名A” : [A1,A2], “列名B”:[B1,B2],…} |
Numpy型からの初期化 | pd.DataFrame(data, columns=[“列名A”, “列名B”…] ) | np.array( [[A1,B1],[A2,B2],..] ) |
Pandas.DataFrame型の初期化
リスト型からの初期化
リスト型の値をそのまま引数に指定すれば、OK。
import pandas as pd
data_list = [["Apple",100],["Orange",40],["Lemon",90]]
df_list = pd.DataFrame(data_list)
print(df_list)
<出力結果>
0 1
0 Apple 100
1 Orange 40
2 Lemon 90
list型の中身は、以下の構成。
data_list = [[列0の値,列1の値],[列0の値,列1の値],......]
ただしこの場合、引数にリスト型の値のみを指定すると、列名がデフォルトになるため、命名したい場合は以下。
df_list = pd.DataFrame(data_list,columns=["Name","Price"])
print(df_list)
<出力結果>
Name Price
0 Apple 100
1 Orange 40
2 Lemon 90
列名は後からでも変更は可能。
Python入門 : ゼロから作る株価予想可視化AI / Pandas 基礎 : データの可視化辞書(dict)型からの初期化
辞書型の場合も値をそのまま引数に指定すれば、OK。
import pandas as pd
data_dict = {"Name" : ["Apple","Orange","Lemon"], "Price" : [100,40,90]}
df_dict = pd.DataFrame(data_dict)
print(df_dict)
<出力結果>
Name Price
0 Apple 100
1 Orange 40
2 Lemon 90
辞書型の中身は、以下の構成。リスト型と異なるの注意。
data_dict = {"列名0":[列0の値,列0の値,...],"列名1":[列1の値,列1の値,...],......]
リスト型と違い、この場合は列名が格納される。
Numpy型からの初期化
Numpy型の場合も値をそのまま引数に指定すれば、OK。
import pandas as pd
import numpy as np
data_np = np.array([["Apple","100"],["Orange","40"],["Lemon","90"]] )
df_np = pd.DataFrame(data_np,columns=["Name","Price"])
print(df_np)
<出力結果>
Name Price
0 Apple 100
1 Orange 40
2 Lemon 90
Numpy型の中身は、以下の構成。
data_np = np.array([[列0の値,列1の値],[列0の値,列1の値],......])
リスト型と同様に列名を指定しないとデフォルトの列名が格納される。列名は後からでも変更は可能。
【世界で37万人が受講】データサイエンティストを目指すあなたへ〜データサイエンス25時間ブートキャンプ〜更新履歴
※2021/11/22追記:columnsの指定は、{ }だと順序が保証ないと指摘をいただきました。[ ](リスト)にすると順序が保証されるそうです。
参考
Pandas公式サイト:pandas.DataFrame
pandas.DataFrame — pandas 2.2.1 documentation