LoginSignup
6
6

More than 3 years have passed since last update.

【Pandas】DataFrameで1つ目のrowデータがheaderに入ってしまったら

Last updated at Posted at 2020-02-24

(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

以上。

6
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6