Python PR

リストやNumpy配列のデータをDataFrameの行方向に並べる

記事内に商品プロモーションを含む場合があります

Pythonにて、リストやNumpy配列をpd.DataFrame()でDataFrameに変換すると、必ずカラムとして導入されます。つまり、データが縦方向に並んだ表ができあがります。

これを横方向、つまり行として表を作りたい場合は、一次元の配列のままではなく、二次元の配列にすればよいです。

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

例えば [1 2, 3]やarray([1, 2, 3])というのは一次元の配列です。

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

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

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

pd.DataFrame([[1, 2, 3],
               4, 5, 6]])

 

 

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

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

[[1, 2, 3]]

 

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

[[1],
 [2],
 [3]]

とすればいいわけです。

1次元の形、つまり

[1, 2, 3]

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

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

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

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

pd.DataFrame(HP)だと

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

pd.DataFrame([HP])だと

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

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

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