Как добавить строку заголовка в фрейм данных pandas



Я читаю CSV-файл в pandas. Этот csv-файл состоит из четырех столбцов и некоторых строк, но не имеет строки заголовка, которую я хочу добавить. Я пробовал следующее:



Cov = pd.read_csv("path/to/file.txt", sep='t')
Frame=pd.DataFrame([Cov], columns = ["Sequence", "Start", "End", "Coverage"])
Frame.to_csv("path/to/file.txt", sep='t')


но когда я применяю код, я получаю следующую ошибку:



ValueError: Shape of passed values is (1, 1), indices imply (4, 1)


что именно означает ошибка? И что было бы чистым способом в python добавить строку заголовка в мой csv-файл/pandas df?

605   4  

4 ответов:

можно использовать names непосредственно в read_csv

имена: массив-как, по умолчанию нет списка имен столбцов для использования. Если файл не содержит строки заголовка, то вы должны явно передать header=None

Cov = pd.read_csv("path/to/file.txt", sep='\t', 
                  names = ["Sequence", "Start", "End", "Coverage"])

строка ниже не будет работать, как вы ожидаете. Cov уже является фреймом данных, предполагая, что он действительно имеет 4 столбца, когда он читается из файла.

Frame=pd.DataFrame([Cov], columns = ["Sequence", "Start", "End", "Coverage"])

В качестве альтернативы вы можете прочитать вам csv с header=None и затем добавить его с df.columns:

Cov = pd.read_csv("path/to/file.txt", sep='\t', header=None)
Cov.columns = ["Sequence", "Start", "End", "Coverage"]
col_Names=["Sequence", "Start", "End", "Coverage"]
my_CSV_File= pd.read_csv("yourCSVFile.csv",names=col_Names)

сделав это, просто проверьте его с[ну, очевидно, я знаю, вы знаете, что. Но все же...

my_CSV_File.head()

надеюсь, что это помогает ... Ура

чтобы исправить свой код, вы можете просто изменить [Cov] to Cov.values первый параметр pd.DataFrame станет многомерной numpy время:

Cov = pd.read_csv("path/to/file.txt", sep='\t')
Frame=pd.DataFrame(Cov.values, columns = ["Sequence", "Start", "End", "Coverage"])
Frame.to_csv("path/to/file.txt", sep='\t')

но самое умное решение по-прежнему является использование pd.read_excel С header=None и names=columns_list.

Comments

    Ничего не найдено.