(Jupyter Notebookを想定した話となります。)
何かしらの理由で、DataFrameの一行目のデータが、header(columns)に入ってしまった場合の対処法。
改めてreadしたり、DataFrameを構築し直すのが簡単だが、
どうにかコードで直したい場合に、DataFrameでゴニョゴニョして直す方法をまとめた。
例えば、下記のように本来は1行目のデータがheader部分に入ってしまった場合を考える。
a | 0 | |
---|---|---|
0 | b | 1 |
1 | c | 2 |
2 | d | 3 |
3 | e | 4 |
headerにある[a,0]を、インデックス=0の位置に挿入したいが、pandasでは、そのような関数は用意されていないようなので、次のように処理する。
df = df.shift() #行データを下方向に1つずつずらす
df.iloc[0] = df.columns.values #インデックス=0の位置に本来は一行目のデータを代入
df.columns = ["col1", "col2"] #本来のカラム名を設定
(結果)
col1 | col2 | |
---|---|---|
0 | a | 0 |
1 | b | 1 |
2 | c | 2 |
3 | d | 3 |
以上。