LoginSignup
0

Pandas:インデックス無しでCSVファイルを出力する方法

Posted at

皆様こんにちは。
今回はPython学習の一環として、Pandasのデータフレームを用いてCSVファイルを操作してみます。
また、インデックス無しでCSVファイルを出力する方法をご紹介します。

Pandasとは?
Pythonのライブラリの一つ。データ解析機能を提供する。

普通に出力してみる

では実際に出力してみます。
今回は環境として、「Google Colaboratory」を使用します。
Google Colaboratory(以下Colab)の使い方についてはこちらをご覧ください。
まず、下記のようなCSVファイルを用意します。
今回は仮としてクラス名簿を想定したファイルとします。

クラス名簿.csv
クラス名簿CSV.png

では、この名簿の中から男子生徒のみを抽出し、CSVファイルとして出力してみます。

# Pandasをインポート
import pandas as pd

# 性別が男のみを抽出し csvに出力

df = pd.read_csv('/content/drive/MyDrive/Python学習/CSV/クラス名簿.csv')

maleOnly = df.loc[df.性別 == '']

filePath = '/content/drive/MyDrive/Python学習/'

maleOnly.to_csv(filePath + '男子のみ.csv')

きちんと男子生徒のみ抽出できているか、データファイルの中身をColab上で確認してみます。
CSV出力結果(Colab上).png

Colabではデータフレームを格納した変数を実行するだけで、Colab上で簡単にデータフレームの中身を確認することができます。
今回の例で言えば、適当なコードセルに変数名の「maleOnly」を記述し実行するだけでOKです。

問題なく抽出できているようなので、次は出力されたCSVファイルを確認してみます。
男子のみcsv(インデックス有).png
男子生徒のみに絞れてはいるのですが、せっかく出席番号を割り振っているのにA列にインデックスが挿入されてしまっており、少々邪魔に感じます。
次はインデックス無しで出力してみましょう。

インデックス無しで出力してみる

インデックス無しにする方法は実はとても簡単です。
関数.csv()の()内でindexFalseに指定するだけでOKです。
コードを下記のように修正します。

# 性別が男性のみを抽出し csvに出力(インデックス無し)

df = pd.read_csv('/content/drive/MyDrive/Python学習/CSV/クラス名簿.csv')

maleOnly = df.loc[df.性別 == '']

filePath = '/content/drive/MyDrive/Python学習/'

maleOnly.to_csv(filePath + '男子のみインデックス無し.csv', index = False)

データフレームの中身を確認してみます。
CSV出力結果(Colab上).png
Colab上では特に変化はありませんね。
続いてCSVファイルを確認してみます。
男子のみcsv(インデックス無).png
きちんとインデックス無しで出力できていることが確認できました。

まとめ

いかがだったでしょうか?
私ははじめ、CSVファイルからインデックスを削除する方法に辿り着くためにかなり四苦八苦してしまい、ググる力を磨いていかなければと痛感しました……。
自分の実現したい操作が、調べてみたら実はめちゃくちゃ簡単だったというのはプログラミング学習あるあるだと思います。
少しでも皆様の参考になれば幸いです。

参考

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
0