Python、機械学習

【Python】リストやNumpy配列のデータをDataFrameの行(row、横方向)に並べるには

リストやNumpy配列をpd.DataFrame()でDataFrameに変換すると、必ずカラムとして導入されます。

つまり、データが縦方向に並んだ表ができあがります。

これを横方向、つまり行として表を作るにはどうしたらいいのでしょうか?

二次元のリスト、Numpy配列にする

例えば やarray()というのは一次元の配列です。

これをDataFrameに変換すると、縦に並んだ状態で表が作成されます。

一方、[1, 2, 3]やarray([1, 2, 3])のように、角カッコ[ ] でもう一重括ってやれば、DataFrame変換後に横に並んだ表ができます。

DataFrameはもともと2次元の表であり、例えば以下のようにすれば、

pd.DataFrame([,
               4, 5, 6]])

 

 

とそのまま表にしてくれます。

したがって、横一列の表をつくりたいなら、

[1, 2, 3]

 

とすればいいわけですし、縦一列の表を作りたいなら、

[,
 ,
 ]

とすればいいわけです。

1次元の形、つまり

の状態でDataFrameに変換すると、デフォルトで縦一列に並ぶんですよ、ということです。

リストやNumpy配列を変数にした場合も同じ

リストやNumpy配列を変数にした場合も同じです。

HP = [120, 110, 75, 50]というリストがあるとします。

pd.DataFrame(HP)だと

のように縦に並んだDataFrame表ができます。

pd.DataFrame([HP])だと

のように横に並んだDataFrame表ができます。

混乱しそうなら、常に2次元で書くクセをつけておく

ということで、混乱しそうなら常に2次元で書くクセをつけておくとよいです。