LoginSignup
0
2

More than 3 years have passed since last update.

データハンドリング2 様々なデータフォーマットの解析

Posted at

Aidemy 2020/10/11

はじめに

 こんにちは、んがょぺです!バリバリの文系ですが、AIの可能性に興味を持ったのがきっかけで、AI特化型スクール「Aidemy」に通い、勉強しています。ここで得られた知識を皆さんと共有したいと思い、Qiitaでまとめています。以前のまとめ記事も多くの方に読んでいただけてとても嬉しいです。ありがとうございます!
 今回は、データハンドリングの二つ目の投稿になります。どうぞよろしくお願いします。

*本記事は「Aidemy」での学習内容を「自分の言葉で」まとめたものになります。表現の間違いや勘違いを含む可能性があります。ご了承ください。

今回学ぶこと
・pandasで変換できるフォーマットの紹介
・pandasを使ったデータフォーマットの変換
・CSVファイルをグラフ化

データフォーマットの解析

pandasを使ったファイルの入出力

・HTML,JSON,CSV,Excelは、それぞれ、Webページ,WebAPI,データ整理など用途が異なる。これらのデータ形式についてpandasを使えば相互に変換が可能になる。

pandasでHTMLのスクレイピング

・基本的に、HTMLの<h1>や<p>などのタグ要素はBeautifulSoupでスクレイピングするが、テーブル要素<table>に関しては、pandasでスクレイピングする。

JSONについて

・JSONとは、"JavaScript Object Notation"の略で、異なるプログラミング言語のデータのやり取りをサポートする物である。
・JSONファイルの構造は基本的にはPythonの辞書型変数の構造と同じで、{key:value,}のような形で表される。

CSVファイルについて

・CSVとは"Comma Separated Values"すなわち「カンマで区切られた値」のことである。軽量で簡単なデータ構造のため、古くからデータのやり取りなどで使われる。
・CSVファイルは「a, b, c, 」のように、値ごとに間まで区切られているだけの構造である。

Excelについて

・Excelは言うまでもなく表計算ソフトのことである。広く使われていることから、Excelのスクレイピングができるようになるとデータ解析の幅が広がる。
・Excelの各名称について、まず、ファイルのことを「book」とよび、ファイル内の表のことを「sheet」、そのうち縦が「column(列)」横が「row(行)」であり、一つ一つの項目を「cell」と言う。

データフォーマットの変換

ファイルをDataFrameで読み込む

・先述のデータフォーマットを実際に変換していく。まず、ファイルの読み込みは、
pd.read_データ型("ファイル名") で行う。例えばHTMLなら「pd.read_html()」、Excelなら「pd.read_excel()」となる。

・ファイルの書き出しは、pd.to_データ型("ファイル名")で行う。また、ここでは「pd」としているが、DataFrame型のオブジェクト「df」をHTMLファイルに書き出したいのであれば「df.to_html()」となる。

CSVファイルのデータをグラフ化する

グラフ化の手順

・「CSVファイルを読み込む(read_csv)」「pandasでグラフの作成」「matplotlibでグラフを描画(plt.show)」
・このうち、「pandasでグラフの作成」が新出。方法は「df.plot()」でOK。

data=pd.read_csv("data.csv")

data.plot()
plt.show()

まとめ

・pandasによって、様々なデータフォーマット間のデータのやり取りができる。
・pythonに他のデータフォーマットを読み込んだり書き出したりする時は「pd.read_csv()」「df.to_html()」のように表す。
・読み込んだCSVファイルは、df.plot()のようにしてグラフを作ることができる。

今回は以上です。最後まで読んでいただき、ありがとうございました。

0
2
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
0
2