Pandas DataFrame es una estructura de datos tabulares potencialmente heterogénea, de tamaño mutable, bidimensional con ejes etiquetados (filas y columnas). Un marco de datos es una estructura de datos bidimensional, es decir, los datos se alinean de forma tabular en filas y columnas. Pandas DataFrame consta de tres componentes principales, los datos, las filas y las columnas. Un marco de datos multiíndice es un marco de datos de pandas que tiene indexación multinivel o indexación jerárquica.
Pandas necesita valores de múltiples índices como tuplas, no como un diccionario anidado. Entonces, primero, necesitamos convertir los valores del índice anidado en tuplas.
Ejemplo 1:
Python3
# Import module import pandas as pd # Nested dictionary to convert it # into multiindex dataframe nested_dict = {'A': {'a': [1, 2, 3, 4, 5], 'b': [6, 7, 8, 9, 10]}, 'B': {'a': [11, 12, 13, 14, 15], 'b': [16, 17, 18, 19, 20]}} reformed_dict = {} for outerKey, innerDict in nested_dict.items(): for innerKey, values in innerDict.items(): reformed_dict[(outerKey, innerKey)] = values # Multiindex dataframe reformed_dict
Producción:
Observe que en reformed_dict , los valores de índice están en la tupla. Ahora, para convertir reformed_dict en un marco de datos multiíndice, podemos usar el método pd.DataFrame() .
Python3
multiIndex_df = pd.DataFrame(reformed_dict) multiIndex_df
Producción:
Aquí, en la salida, podemos ver el índice jerárquico/índice múltiple para la columna.
Ejemplo #2:
Python3
# Import module import pandas as pd # Nested dictionary to convert it into multiindex dataframe nested_dict = {'India': {'State': ['Maharashtra', 'West Bengal', 'Uttar Pradesh', 'Bihar', 'Karnataka'], 'Capital': ['Mumbai', 'Kolkata', 'Lucknow', 'Patna', 'Bengaluru']}, 'America': {'State': ['California', 'Florida', 'Georgia', 'Massachusetts', 'New York'], 'Capital': ['Sacramento', 'Tallahassee', 'Atlanta', 'Boston', 'Albany']}} reformed_dict = {} for outerKey, innerDict in nested_dict.items(): for innerKey, values in innerDict.items(): reformed_dict[(outerKey, innerKey)] = values # Display multiindex dataframe multiIndex_df = pd.DataFrame(reformed_dict) multiIndex_df
Producción:
Publicación traducida automáticamente
Artículo escrito por piyushtiwari515 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA