Кажется, что функция pandas.to_csv имеет два атрибута, которые делают то же самое.pandas to_csv header vs columns
Возможно, у меня что-то не хватает.
Из документации:
столбцов: последовательность, опционально
Столбцы написать
заголовок: логический или список строки, по умолчанию True
Выпишите имена столбцов. Если указан список строк, предполагается, что это псевдонимы для имен столбцов.
При указании списка столбцов они помещают столбцы в указанный мной порядок.
import pandas as pd
from StringIO import StringIO
df = pd.DataFrame({"foo":[1,2], "bar":[1,2]})
sio = StringIO()
df.to_csv(sio)
sio.getvalue()
',bar,foo\n0,1,1\n1,2,2\n'
sio = StringIO()
df.to_csv(sio, header=['foo', 'bar'])
sio.getvalue()
',foo,bar\n0,1,1\n1,2,2\n'
sio.close()
sio = StringIO()
df.to_csv(sio, columns=['foo', 'bar'])
sio.getvalue()
',foo,bar\n0,1,1\n1,2,2\n'
sio.close()
Если я только хочу, чтобы сортировать порядок столбцов, который один является собственно один использовать?
Единственный сценарий, который я вижу, когда имеет смысл использовать эти два именованных атрибута, - это если я хочу выбирать столбцы, но не напишите заголовок в файл csv.
Это будет означать, что использование columns=['foo', 'bar']
является подходящим вариантом.