source

Panda DataFrame에 헤더 행을 추가하는 방법

lovecheck 2023. 1. 12. 22:09
반응형

Panda DataFrame에 헤더 행을 추가하는 방법

csv 파일을 읽고 있습니다.pandas이 csv 파일은 4개의 열과 몇 개의 행으로 구성되지만 추가하려는 헤더 행은 없습니다.다음을 시도하고 있습니다.

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에 추가하는 가장 깨끗한 방법은 무엇일까요?

사용할 수 있습니다.names직접 에

names : 어레이와 같은 기본 None 사용할 열 이름 목록.파일에 헤더 행이 없는 경우 header=None을 명시적으로 전달해야 합니다.

Cov = pd.read_csv("path/to/file.txt", 
                  sep='\t', 
                  names=["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()

심플하고 간단한 솔루션:

import pandas as pd

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

메모: 헤더 길이와 CSV 파일 헤더 길이가 일치하지 않는지 확인하십시오.

코드를 수정하려면 간단히 변경할 수 있습니다.[Cov]로.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.

이것은 csv에서 읽고 있기 때문에 딜리미터는 다음과 같습니다.','[as default, not need to mention]' and the given file has no header so header=없음

샘플 코드:

import pandas as pd
data = pd.read_csv('path/to/file.txt',header=None)
data.columns = ["Sequence", "Start", "End", "Coverage"]
print(data.head()) #Print the first rows

언급URL : https://stackoverflow.com/questions/34091877/how-to-add-header-row-to-a-pandas-dataframe

반응형