2016-08-27 16 views
1

ここでは、csvファイルと未加工の入力csvファイルと出力csvファイルを処理して保存するコードをPython 2.7でpandasを使用し、ファイルを保存するとき?ありがとう。ここでcsvファイルにパンダデータフレームを保存するときに追加の列

c_a,c_b,c_c,c_d 
hello,python,pandas,0.0 
hi,java,pandas,1.0 
ho,c++,numpy,0.0 

sample = pd.read_csv('123.csv', header=None, skiprows=1, 
    dtype={0:str, 1:str, 2:str, 3:float}) 
sample.columns = pd.Index(data=['c_a', 'c_b', 'c_c', 'c_d']) 
sample['c_d'] = sample['c_d'].astype('int64') 
sample.to_csv('saved.csv') 

は値0, 1, 2ある初め、で追加の列があり、保存されたファイルです。

cat saved.csv 
,c_a,c_b,c_c,c_d 
0,hello,python,pandas,0 
1,hi,java,pandas,1 
2,ho,c++,numpy,0 
+1

設定 '指数= false'をパラメータとしてto_csv''にあなたが列をしたくない場合。 http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_csv.html – khammel

+1

これはDataFrameのインデックスです。無効にする方法については、[ここ](http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_csv.html)を参照してください。 –

+1

[保存されたcsvでインデックスを作成する方法を避けるにはどうすればいいですか?](http://stackoverflow.com/questions/20845213/how-to-avoid-python-pandas-creating-an-indexin -a-saved-csv) – Merlin

答えて

2

追加の列はデータフレームのインデックスに対応し、CSVファイルを読み込むと集約されます。このインデックスを使用して、効果的な方法でDFをスライス、選択、または並べ替えることができます。

http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Index.html

http://pandas.pydata.org/pandas-docs/stable/indexing.html

あなたはこのインデックスを避けたい場合は、機能pd.to_csvを使用してデータフレームを保存するとき、あなたはFalseindexフラグを設定することができます。また、ヘッダーを削除して後で集約することもできますが、この手順を回避するにはCSVのヘッダーを使用できます。

sample = pd.read_csv('123.csv', dtype={0:str, 1:str, 2:str, 3:float}) 
sample.to_csv('output.csv', index= False) 

はそれが役に立てば幸い:)

+1

Juanに感謝します。わたしにはできる。 –

+1

それは嬉しかったです。良い一日を過ごす@LinMa –

+0

あなたもフアン! :) –