機械学習・自然言語処理の勉強メモ

学んだことのメモやまとめ

Pandasでcsvを扱う

Pandasでcsvを扱う場合のメモ。

Read
import pandas as pd

df = pd.read_csv('D:\python\data\wine.data')

print df       # show all column
test_df = pd.read_csv('test.csv', header=None, skiprows=1, names=['番号', '数学','英語'])
#ヘッダがない場合はheader=Noneとしておけば良い。

オプション一覧

option 意味
index_col indexとするcolumn名
parse_dates datetime型で読み込むcolumn名(リストや辞書)
na_values 欠損値とする文字列(リスト)
encoding 符号化形式を指定
sep 区切り文字(' ':スペースの場合)
line_terminator default '\n'
header default True
index default True

encoding
指定しなかった場合、文字列はstrで読み込むが、
指定した場合、指定した符号化形式でunicode型にdecodeして読み込む。

Write
data.to_csv('foo.csv')
  
# indexを出力対象から外したい場合はindex=Falseを指定。
data.to_csv( 'bar.csv', index=False )

df.to_csv("hoge/hoge/iris.csv", quoting=csv.QUOTE_ALL)
注意:Series型は少し引数が異なるので注意。

pandas.DataFrame.to_csv — pandas 0.21.0 documentation

pd.DataFrame(Seriesデータ).to_csvしてからto_csvした方がはまらないかも。