【アイデミー学習録】データクレンジング (2) DataFrameの利用

NO IMAGE

CSVを取り扱う

csvの読み込み

アイデミーの講座で、csvライブラリやPandasを使ってcsvファイルを読み込むことを学びました。

read_csv("ファイルパス", header= )

headerとは一行目に割り当てるもので、header = None とすると、Pandasが自動で適当な場所に列名を割り当てる。

header =1 と行番号を指定すると、ファイルの2行目に列名が割り当てられ、元あったデータの1行目と1行目が削除される。

Python3のcsvライブラリを利用したCSV作成と保存

Python3に搭載されているcsvライブラリを利用して、作成と保存ができる。

一連の流れは以下。

import csv

#name.csvを変数csvfileとして開く("w”は書き込みモード)
with open("/保存先のファイルパス/name.csv", "w") as csvfile:

#変数csvfileに、ラインターミネーションを(\n)として書き込み、設定情報として変数writerに書き込む。
writer = csv.writer(csvfile, linetermination="\n")

#writerに上の行から書き込む。

writer.writerow(["A", "B", "C"])
writer.writerow(["a", 2, "c"])
writer.writerow(["AA", "BB", "c3"])

#これで出力されて、保存される。

#変数csvfileとして読み込みモード("r")でname.csvを開いて出力
with open("/保存先のファイルパス/name.csv", "r") as csvfile:

print(csvfile.read())

Pandasを用いたcsvファイルの生成と保存

Pandasを用いてもcsvファイルが作成でき、csvライブラリで作成するよりも便利とのこと。

to_csv ("保存先のファイルパス/ファイル名")

ということで、プログラム一例を書いてみた。

import pandas ad pd
statistic = {"manifacture":["Apple", "Samsung", "Sony", "Nokia"],
"Amount":[200, 150, 50, 80]}

#PandasDataFrame形式のデータへ変換
df = pd.DataFrame(statistic)

#name.csvという名前でcsvファイルに出力
df.to_csv("/保存先のファイルパス/name.csv")

DataFrameと組み合わせて活用

pandasでの取り扱いとなるので、pandas DataFrameを使いこなすと柔軟に対応できる。

エクササイズでは以下の物を利用

DataframeA に DatafremeBを追加

A = A.append(B)

②DataFrameAをソートする

A = A.sort_values(by="ソート基準となる列の名前")

DataFrameAの行番号を振り直す

A = A.reset_index(drop=True)

④ ① ~ ③のあわせ技

A = A.append(B).sort_values(by="ソート基準となる列の名前").reset_index(drop=True)