Pythonの言語は、今ではEXCELでも利用できるようになっています。
EXCELでのPython利用は、基本的にはデータ分析の分野で利用することになるでしょう。
Pythonには、データ分析に役立つ「Pandas」というライブラリがあります。
これまでにも概要をまとめた記事(リンク)がありますが、「データフレーム」という形で「データ」を扱えるのが特徴です。
今回は「Pandas」の中でも、入出力系のメソッドについて、まとめようと思います。
データ(CSV、EXCELファイル)の読み込みと書き出し
Pandasでのデータの「読み込み」と「書き出し」では、以下のようなものが対象となります。
- テキスト形式のデータファイル
- バイナリ形式のデータファイル
- データベースのデータ
- HTMLテーブルのデータ
これらのデータをpandasで扱う場合は、「データを読み込む」⇒「『データフレーム』として保持・加工」⇒「ファイルとして書き出し」という流れが行えます
例えば、EXCELやCSVのファイルにまとめられているデータの「読み込み」と「書き出し」を行うメソッドには、以下があります。
メソッド | 概要 |
read_csv() | CSVファイルからデータを読み込みます。 |
to_csv() | 任意のデータフレームをCSVファイルとして書き出します。 |
read_excel() | EXCELファイルからデータを読み込みます。 |
to_excel() | 任意のデータフレームをEXCELファイルとして書き出します。 |
次のサンプルコードは、以下の内容が記載されているCSVファイル(sample.csv)を読み込み、その内容を出力すると共に、別のファイル(output.xlsx)で書き出しています。
コードサンプル:
import pandas as pd
#CSVファイルからデータの読み込み
data = pd.read_csv(‘d:/sample.csv’)#読み込んだデータの出力
print(data)#読み込んだデータをXLSXファイルに書き出し
data.to_csv(‘d:/output.xlsx’)
実行結果:
データの一部を表示
以下のメソッドは、データフレームとして持っているデータ群の一部を抜き出して表示することができます。
メソッド | 説明 |
head() | データフレームの最初の数行を返します。 |
tail() | データフレームの最後の数行を返します。 |
いずれも、デフォルトでは「5行分」を返しますが、引数を使うことで行数を指定することができます。
コードサンプル:
import pandas as pd
# データフレームを定義
data = {‘A’: [1, 2, 3, 4, 5, 6],
‘B’: [10, 20, 30, 40, 50, 60]}
df = pd.DataFrame(data)
# デフォルトの最初の5行を出力
print(df.head())# 最初の3行を出力
print(df.head(3))# デフォルトの最後の5行を出力
print(df.tail())# 最後の3行を出力
print(df.tail(3))
実行結果(出力:デフォルトの最初の5行):
A B
0 1 10
1 2 20
2 3 30
3 4 40
4 5 50
実行結果(出力:最初の3行):
A B
0 1 10
1 2 20
2 3 30
実行結果(出力:デフォルトの最後の5行):
A B
1 2 20
2 3 30
3 4 40
4 5 50
5 6 60
実行結果(出力:最後の3行):
A B
3 4 40
4 5 50
5 6 60
データの情報を表示
以下のメソッドは、データフレームの情報を表示します。
具体的な表示内容は、以下になります。
- 列の「数」
- 各列の「名前」
- 各列の「非null値の数」
- 各列の「データ型」
- データフレームを構成する「データ型毎の数」
- メモリ消費量
コードサンプル:
import pandas as pd
# データフレームを定義
data = {‘A’: [1, 2, 3],
‘B’: [‘x’, ‘y’, ‘z’],
‘C’: [4.5, 5.6, 6.7],
‘D’: [4, 5, 6]}
df = pd.DataFrame(data)
# データフレームの情報を表示
df.info()
実行結果:
<class ‘pandas.core.frame.DataFrame’>
RangeIndex: 3 entries, 0 to 2
Data columns (total 4 columns):
# Column Non-Null Count Dtype
— —— ————– —–
0 A 3 non-null int64
1 B 3 non-null object
2 C 3 non-null float64
3 D 3 non-null int64
dtypes: float64(1), int64(2), object(1)
memory usage: 228.0+ bytes
まとめ
今回は、Pythonで扱えるライブラリの「Pandas」の入出力系のメソッドについてまとめてみました。
他にも多くのメソッドが存在するため、複数の記事に渡って解説しています。
他の記事も、ぜひ参考にしてみて下さい。