[python] 팬더 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)
오류가 정확히 무엇을 의미합니까? 그리고 내 csv 파일 / 팬더 df에 헤더 행을 추가하는 파이썬의 깔끔한 방법은 무엇입니까?
답변
names
에서 직접 사용할 수 있습니다read_csv
names : array-like, default 없음 사용할 열 이름 목록입니다. 파일에 헤더 행이 없으면 명시 적으로 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()
그것이 도움이되기를 바랍니다 … 건배
답변
코드를 수정하기 위해 간단히로 변경할 [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')
그러나 가장 현명한 솔루션은 여전히 and pd.read_excel
와 함께 사용 하는 것 입니다.header=None
names=columns_list