LoginSignup
1
4

More than 3 years have passed since last update.

【Pandas】Pandasの集計結果をCSVファイルに書き込む方法 .no.35

Last updated at Posted at 2021-04-09

見出しを追加 (86).png

こんにちは、まゆみです。

Pandasについての記事をシリーズで書いています。

今回は第35回目になります。

今までの記事では、

CSVデータを読み込みPandasでデータを集計したりする方法を述べてきました。

見出しを追加 (87).png

今回は、Pandasで計算した結果を CSVに書き込むという、今までのプロセスとは逆のプロセスになります

ではさっそく始めていきます。

今回使うデータ

前回の記事に引き続き、『NYC Open Data』のサイトから、アメリカの学校ごとにおけるSATテストの平均点に関するデータを用いていきます。(SATとは日本のセンター試験のようなものみたいです。)

スクリーンショット 2021-04-09 084308.jpg

このコラムの中の

『Mathematics Mean』(数学の平均点)

を使って、数学の平均点が

~ 650 Very Good

650 ~ 550 Good

550 ~ 450 Fairly Good

450 ~ 350 Poor

350 ~  Very Poor

とグレード分けした結果をCSVに書き出してみたいと思います。

では、Pandasのメソッド.to_csv()メソッドの使い方を紹介します

.to_csv()メソッド

スクリーンショット 2021-04-09 085645.jpg
引用元:Pandasドキュメント

.to_csv()は、SeriesにもDataFrameにも使えます。

まず、一番忘れてはならないのが、Pandasの結果を書き出すための『CSVファイルを作ること』です。

CSVファイルを作ると言っても、引数にあなたの作りたいCSVファイル名を書くだけで大丈夫です。

下記のようにコードを書きます。

.to_csv("好きなファイル名.csv")

また、Pandasのドキュメントを見ていただければ『パラメーターindex = True』となっているのが分かると思います。

このままデフォルト値を使いますと、下記のような結果になります

スクリーンショット 2021-04-09 104902.jpg

index= False にすると、インデックスが入らないです。
スクリーンショット 2021-04-09 105139.jpg

.to_csv("ファイル名.csv", index= False)

また、扱うデータによって、『encoding error』が出る場合もあります

その時は、パラメーターencoding= "utf-8" を試してみてください。

Mathematics Meanのコラムにある値をグレード分けする

では、数学の平均点をそれぞれのグレードに分けていきましょう。

例として、550点以上、650点未満の得点を『good』というグレードに分ける方法のみを書いておきます。

見出しを追加 (88).png

650未満
550以上

両方を満たす部分なので『&』でつなぎます。

スクリーンショット 2021-04-09 111656.jpg

dateframe["コラム名"] >= 550

条件となるものを『mask』という変数に代入するのは業界の慣習のようです。

2つの条件が同時に満たされる部分が欲しいので、条件2つを&でつなぎます。

それらの条件を満たすアイテムの個数を知りたいので、len関数を使います。

その結果をgoodという変数に代入しました。

他のグレード(very_good, fairly_good , poor, very_poor)も同じ感じで、それぞれのグレードに評価される生徒の数を調べてみてくださいね。

DataFrameを作る

PandasのDataFrameを作る時、引数に、辞書型データを渡すことができます

辞書型データを渡すと下記のようなDataFrameになります。
1.png

スクリーンショット 2021-04-09 131043.jpg

スクリーンショット 2021-04-09 131425.jpg

カレントフォルダー内を調べてみましょう

『math_grade.csv』ができています。

スクリーンショット 2021-04-09 131858.jpg

『math_grade.csv』を開くとこんな感じです。

スクリーンショット 2021-04-09 132025.jpg

同様にして、セントラルパークのリスはどんな色のものが多いかも調べてみます。

Central Parkにいるリスはどんな色が多いのかも調べてみた

見出しを追加 (89).png

こちらはセントラルパークのリスについて調べたデータになります。

スクリーンショット 2021-04-09 133219.jpg

『Primary Fur Color』の各値がいくつあるか調べます。

スクリーンショット 2021-04-09 132931.jpg

Primary Fur Colorの値は、Gray, Cinnamon, Black のみの3種類になります。

Gray のリスの数を数えます。

スクリーンショット 2021-04-09 133551.jpg

同様にして、black, cinnamon の数も抜き出しました。

先ほどとおなじく、

①DataFrame を作って

②CSVファイルに書き出しました。

スクリーンショット 2021-04-09 133715.jpg

まとめ

今回は、今まではCSVから読み込んでいたものを、反対に『CSVに書き込む』というのをやってみました。

お役に立てれば嬉しいです。

1
4
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
1
4