2016-07-13 11 views
2

ヘッダが文字列でラベル付けされていても、pd.to_csvを使用してcolumns引数に数値範囲を指定することはできますか?pandas:to_csv名前付き列の数値範囲を使用していますか?

サンプルデータフレーム:

January February March April May June July August September 
0 67  43  48  58  82 102 118 114  82 
1 45  27  16  12  65 89 112 100  35 

私は最初の8つの列を書きたい場合は、私が使用しなければならないでしょう:

pd.to_csv('<filename>',usecols=['January, February, March, April, May, June, July, August']) 

これは明らかに多くのスペースを占めており、現実的ではありません100列を超えるデータフレームを使用しています。しかし、私は、引数として、列の範囲、またはスライスを使用するように見えることはできません。

df.to_csv('filename.csv',columns=list(range(1,9))) 

これはKeyError: 'None of [[1, 2, 3, 4, 5, 6, 7, 8]] are in the [columns]'を返します。

その後、私はそれを行うための簡単な方法があります確信している、私はちょうどSO ...

+2

' df.to_csv([8] 'filename.csv'、usecolsの=のdf.columns)をしていますか? –

+0

はい、ありがとうございます! – ale19

答えて

2

上の任意の同様の質問を見つけることができませんあなたがシリーズとしてデータフレームの列の名前にアクセスすることができますし、スライスつまり、例えば:

df.to_csv('filename.csv', usecols=df.columns[:8]) 
1

代替ソリューション: `それを行う:

df.ix[:, :7].to_csv('filename.csv') 
関連する問題