2016-07-13 15 views
2

Возможно ли через pd.to_csv предоставить числовой диапазон аргументу столбцов, даже если заголовки помечены строками?pandas: to_csv с числовым диапазоном названных столбцов?

Образец dataframe:

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 

Если бы я хотел, чтобы написать первые восемь столбцов, я бы использовать:

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

Это, очевидно, занимает много места, и непрактично с кадрами данных с более чем сотней столбцов. Но я не могу использовать диапазон столбцов, или кусочек, в качестве аргумента:

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 ('filename.csv', usecols = df.columns [: 8])' это сделать? –

+0

Да, спасибо! – ale19

ответ

2

Вы можете получить доступ к именам столбцов dataframe в виде ряда, а затем ломтик, который, например:

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

альтернативное решение:

df.ix[:, :7].to_csv('filename.csv') 
Смежные вопросы