una lista insertar data create columnas columna agregar python csv pandas header

python - lista - Cómo agregar una fila de encabezado a un DataFrame de pandas



insertar columna pandas (4)

Alternativamente, podría leer su csv con header=None y luego agregarlo con df.columns :

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

Estoy leyendo un archivo csv en pandas . Este archivo csv consta de cuatro columnas y algunas filas, pero no tiene una fila de encabezado, que quiero agregar. He estado intentando lo siguiente:

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'')

Pero cuando aplico el código, aparece el siguiente error:

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

¿Qué significa exactamente el error? ¿Y cuál sería una forma limpia en python de agregar una fila de encabezado a mi archivo csv / pandas df?


Para arreglar su código, simplemente puede cambiar [Cov] a Cov.values , el primer parámetro de pd.DataFrame se convertirá en una matriz numpy multidimensional:

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'')

Pero la solución más inteligente todavía es usar pd.read_excel con header=None y names=columns_list .


Puede usar names directamente en read_csv

nombres: tipo matriz, predeterminado Ninguno Lista de nombres de columna para usar. Si el archivo no contiene una fila de encabezado, entonces debe pasar explícitamente encabezado = Ninguno

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


col_Names=["Sequence", "Start", "End", "Coverage"] my_CSV_File= pd.read_csv("yourCSVFile.csv",names=col_Names)

Habiendo hecho esto, simplemente verifíquelo con [bueno, obviamente lo sé, lo sabe. Pero aún...

my_CSV_File.head()

Espero que ayude ... Saludos