Saltar al contenido

Pandas: transforma una tabla dbf en un marco de datos

Solución:

Deberías echar un vistazo a simpledbf:

In [2]: import pandas as pd

In [3]: from simpledbf import Dbf5

In [4]: dbf = Dbf5('test.dbf')

In [5]: df = dbf.to_dataframe()

Esto me funciona con un pequeño archivo .dbf de muestra. Espero que ayude.

Como dijo mmann1123, puede usar geopandas para leer su archivo dbf. El Geopandas lo lee a pesar de que puede tener o no datos geoespaciales.

Suponiendo que sus datos son solo datos tabulares (sin coordenadas geográficas), y desea leerlos y convertirlos a un formato que la biblioteca de pandas pueda leer, sugeriría usar geopandas.

Aquí hay un ejemplo:

import geopandas as gpd

My_file_path_name = r'C:Users...file_dbf.dbf'

Table = gpd.read_file(Filename)

import pandas as pd
Pandas_Table = pd.DataFrame(Table)

Keys = list(Table.keys())
Keys.remove('ID_1','ID_2') # removing ID attributes from the Table keys list
Keys.remove('Date') # eventually you have date attribute which you wanna preserve.

DS = pd.melt(Pandas_Table, 
             id_vars =['ID_1','ID_2'], # accepts multiple filter/ID values 
             var_name="class_fito", # Name of the variable which will aggregate all columns from the Table into the Dataframe
             value_name="biomass (mg.L-1)" , # name of the variable in Dataframe
             value_vars= Keys # parameter that defines which attributes from the Table are a summary of the DataFrame)

# checking your DataFrame:

type(DS)   # should appear something like: pandas.core.frame.DataFrame

Es posible que desee mirar geopandas. Le permitirá realizar las operaciones GIS más importantes.

http://geopandas.org/data_structures.html

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *