read open leer excelfile examples create column python excel pandas

python - open - ¿Podrían los pandas usar la columna como índice?



python pandas read excel column (3)

Puede cambiar el índice como se explicó anteriormente usando set_index . No necesita intercambiar filas manualmente con columnas, hay un método de transposición ( data.T ) en pandas que lo hace por usted:

> df = pd.DataFrame([[''ABBOTSFORD'', 427000, 448000], [''ABERFELDIE'', 534000, 600000]], columns=[''Locality'', 2005, 2006]) > newdf = df.set_index(''Locality'').T > newdf Locality ABBOTSFORD ABERFELDIE 2005 427000 534000 2006 448000 600000

entonces puede buscar los valores de columna del marco de datos y transformarlos en una lista:

> newdf[''ABBOTSFORD''].values.tolist() [427000, 448000]

Tengo una hoja de cálculo como esta:

Locality 2005 2006 2007 2008 2009 ABBOTSFORD 427000 448000 602500 600000 638500 ABERFELDIE 534000 600000 735000 710000 775000 AIREYS INLET459000 440000 430000 517500 512500

No quiero intercambiar manualmente la columna con la fila. ¿Podría ser posible usar pandas para leer datos en una lista como esta:

data[''ABBOTSFORD'']=[427000,448000,602500,600000,638500] data[''ABERFELDIE'']=[534000,600000,735000,710000,775000] data[''AIREYS INLET'']=[459000,440000,430000,517500,512500]


Puede establecer el índice de la columna utilizando el parámetro index_col disponible mientras lee desde la hoja de cálculo en Pandas.

Aquí está mi solución:

  1. En primer lugar, importar pandas como pd: import pandas as pd

  2. Lea el nombre de archivo usando pd.read_excel () (si tiene sus datos en una hoja de cálculo) y establezca el índice en ''Localidad'' especificando el parámetro index_col.

    df = pd.read_excel(''testexcel.xlsx'', index_col=0)

    En esta etapa, si obtiene el error ''sin módulo llamado xlrd'', instálelo utilizando pip install xlrd .

  3. Para la inspección visual, lea el marco de datos usando df.head() que imprimirá el siguiente resultado

  4. Ahora puede obtener los valores de las columnas deseadas del marco de datos e imprimirlo


Sí, con set_index puede hacer que Locality su índice de fila.

data.set_index(''Locality'', inplace=True)

Si no se proporciona inplace=True , set_index devuelve el marco de datos modificado como resultado.

Ejemplo:

> import pandas as pd > df = pd.DataFrame([[''ABBOTSFORD'', 427000, 448000], [''ABERFELDIE'', 534000, 600000]], columns=[''Locality'', 2005, 2006]) > df Locality 2005 2006 0 ABBOTSFORD 427000 448000 1 ABERFELDIE 534000 600000 > df.set_index(''Locality'', inplace=True) > df 2005 2006 Locality ABBOTSFORD 427000 448000 ABERFELDIE 534000 600000 > df.loc[''ABBOTSFORD''] 2005 427000 2006 448000 Name: ABBOTSFORD, dtype: int64 > df.loc[''ABBOTSFORD''][2005] 427000 > df.loc[''ABBOTSFORD''].values array([427000, 448000]) > df.loc[''ABBOTSFORD''].tolist() [427000, 448000]