#行列について
行列式をpythonで取り扱っていると、勘違いが起きそうだなと思ったのでメモとして一応残しておく。例えばnp.array([1, 2, 3])は1行3列なのか、3行1列なのか。これをcsv形式で保存した場合どのように表示されるのかを見てみるのが今回の目的。またto_csv関数のindexとheaderについて、デフォルトでは両方ともTrueとされているが、Falseとしてみるとどうなるのかの確認。
import numpy as np
import pandas as pd
a = np.array([1, 2, 3])
b = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
c = np.array([[1], [2], [3]])
df = pd.DataFrame(a)
df.to_csv("a.csv")
df = pd.DataFrame(b)
df.to_csv("b.csv", header=False)
df = pd.DataFrame(c)
df.to_csv("c.csv", index=False, header=False)
csvファイルの中身をスクショで添付しておく。
Excelを使うことを考えると、基本的にはheader及びindexはともにFalseの方が都合がよい。それにしてもaとcの形状が同じになってしまったため、少し付け足しをする。
d = np.array([[1, 2, 3]])
df = pd.DataFrame(d)
df.to_csv("d.csv", index=False, header=False)
欲しい結果が出たが,調べてみるとnp.shapeで何行何列なのかを確認することができる。またaのみ行列ではないものとして扱われていることが確認できる。