Pandas to_csv()で Unnamed: 0 というカラムが作成された時の対処法

この記事ではPandasを用いてデータフレーム(DataFrame)を書き出しする際に、to_csv()を用いると、「Unnamed: 0」というカラムが作成され困った・・・という方向けの記事です。

Unnamed: 0″カラムを非表示にしたいという方や、「Unnamed: 0」カラムが作成されないようにするためにはどうすれば良いのか知りたいという方は是非読んでみてください。

AI・データサイエンス、
機械学習の実践力を高めたい方へ

  • プログラミングを0から学びたい
  • データサイエンティスト、データ
    アナリストを目指したい
  • AIエンジニア、大規模言語モデル(LLM)エンジニアを目指したい

AI人材コースを無料体験してみませんか?

  • 無料で120以上の教材を学び放題!
  • Pythonやデータ分析、機械学習など
    AI人材に必須のスキルを無料体験できる!
  • データ分析、AI開発の一連の流れを体験、実務につながる基礎スキルを習得!

1分で簡単!無料!

無料体験して特典を受け取る

解決方法(結論)

結論から先にお伝え致します。解決方法は、to_csv()の引数にindex=Falseを指定すれば良いです。

それでは実際にindex=Falseを指定しないパターンと指定したパターンの違いを確認してみましょう。

先ずは、index=Falseを指定しないパターンです。

import pandas as pd
data = [[63, "B"],
         [45, "C"],
         [ 85, "A"]]

df = pd.DataFrame(data=data, columns= ["得点", "ランク"])
df.to_csv('data1.csv')

その後、read_csv()を用いて読み込んでみましょう。

df = pd.read_csv("data1.csv")
df

すると、案の定 Unnamed: 0 カラムが作成されてしまっています。

ちなみにですが、to_csv()にindex=Falseをつけ忘れてしまったとしても、 read_csv()利用時に、 index_col=0 をつけて読み込めば、 「Unnamed: 0」というカラムは読み込まれなくなります。

df = pd.read_csv("data1.csv",index_col=0)
df

では続いて、index=Falseを指定したパターンを確認していきましょう。

import pandas as pd
data = [[63, "B"],
         [45, "C"],
         [ 85, "A"]]

df = pd.DataFrame(data=data, columns= ["得点", "ランク"])
df.to_csv('data2.csv', index=False)

それではread_csv()にindex_col=0をつけずに、素直にread_csv()を実行してみます。

df = pd.read_csv("data2.csv")
df

すると正しく、「Unnamed: 0」カラムが作成されていないことが確認できました。

Pythonを効率よく学ぶには?

Pythonを効率よく学ぶには、普段からPythonを利用している現役のデータサイエンティストや機械学習エンジニアに質問できる環境で学ぶことです。
質問し放題かつ、体系的に学べる動画コンテンツでデータ分析技術を学びたい方は、オンラインで好きな時間に勉強できるAI Academy Bootcampがオススメです。受講料も業界最安値の35,000円(6ヶ月間質問し放題+オリジナルの動画コンテンツ、テキストコンテンツの利用可能)なので、是非ご活用ください。



  • 30時間以上の動画講座が見放題!
  • 追加購入不要!
    これだけで学習できるカリキュラム
  • (質問制度や添削プラン等)
    充実したサポート体制!

1分で簡単!無料!

AI人材コースを見る



無料体験して特典を受け取る