Investigamos por el mundo online para así traerte la respuesta a tu dilema, en caso de inquietudes déjanos tu inquietud y respondemos porque estamos para ayudarte.
Solución:
Usted quiere header=None
la False
obtiene el tipo promovido a int
dentro 0
ver los documentos énfasis mío:
encabezado: int o lista de ints, número(s) de fila predeterminado ‘inferir’ para usar como nombres de columna y el inicio de los datos. El comportamiento predeterminado es como si estuviera establecido en 0 si no se pasan nombres, de lo contrario Ninguna. Pase explícitamente header=0 para poder reemplazar los nombres existentes. El encabezado puede ser una lista de números enteros que especifican ubicaciones de fila para un índice múltiple en las columnas, por ejemplo [0,1,3]. Se omitirán las filas intermedias que no se especifiquen (por ejemplo, se omite 2 en este ejemplo). Tenga en cuenta que este parámetro ignora las líneas comentadas y las líneas vacías si skip_blank_lines=True, por lo que header=0 denota la primera línea de datos en lugar de la primera línea del archivo.
Puedes ver la diferencia en el comportamiento, primero con header=0
:
In [95]:
import io
import pandas as pd
t="""a,b,c
0,1,2
3,4,5"""
pd.read_csv(io.StringIO(t), header=0)
Out[95]:
a b c
0 0 1 2
1 3 4 5
Ahora con None
:
In [96]:
pd.read_csv(io.StringIO(t), header=None)
Out[96]:
0 1 2
0 a b c
1 0 1 2
2 3 4 5
Tenga en cuenta que en la última versión 0.19.1
esto ahora generará un TypeError
:
In [98]:
pd.read_csv(io.StringIO(t), header=False)
TypeError: pasar un bool al encabezado no es válido. Use header=None para no header o header=int o list-like of ints para especificar las filas que componen los nombres de las columnas
Creo que necesitas un parámetro. header=None
a read_csv
:
Muestra:
import pandas as pd
from pandas.compat import StringIO
temp=u"""a,b
2,1
1,1"""
df = pd.read_csv(StringIO(temp),header=None)
print (df)
0 1
0 a b
1 2 1
2 1 1
Si te mola el tema, tienes el poder dejar un tutorial acerca de qué le añadirías a este artículo.