editar formato a columna en DataFrame
Publicado por Francisco Jose (1 intervención) el 13/03/2020 21:50:16
hola
soy nuvo por aqui... nuevo con porgramacion y conociendo python, pues el problema que tengo es el siguiente,
estoy intentando agregar efecto a la tabla con el df_clrs y el df_fnts pero no realiza ningun tipo de efecto en el cuadro cuando abro el documento de excel, veo todo sin formato de color:
alguien sabria que estoy haciendo mal o de que mejor manera lo podria hacer?
librerias
codigo:
soy nuvo por aqui... nuevo con porgramacion y conociendo python, pues el problema que tengo es el siguiente,
estoy intentando agregar efecto a la tabla con el df_clrs y el df_fnts pero no realiza ningun tipo de efecto en el cuadro cuando abro el documento de excel, veo todo sin formato de color:
alguien sabria que estoy haciendo mal o de que mejor manera lo podria hacer?
librerias
1
2
3
4
5
6
7
import my_lib;
import pandas
import pandas as pd;
from pandas import ExcelWriter
import numpy as np
from pandas import ExcelWriter
from pandas import ExcelFile:
codigo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
def cuadro_excel_prueba():
np.random.seed(100)
df_cuadro = pd.DataFrame(np.random.randn(5, 3), columns=list("ABC"))
return df_cuadro
df1 = cuadro_excel_prueba()
df_clrs = pd.DataFrame([
['#bc4700', '#dea380', '#bc4700'],
['#384f69', '#dea380', '#bc4700'],
['#dea380', '#bc4700', '#384f69'],
['#384f69', '#384f69', '#dea380'],
['#dea380', '#bc4700', '#384f69']],
columns=['a', 'b', 'c'])
df_fnts = pd.DataFrame([
['#f1f1f1','#f1f1f1','#000000'],
['#000000','#f1f1f1','#f1f1f1'],
['#000000','#f1f1f1','#000000'],
['#f1f1f1','#000000','#f1f1f1'],
['#000000','#000000','#f1f1f1']],
columns=['a', 'b' ,'c'])
def _apply_prop(df, prop):
return df.applymap(lambda x: prop + ':' + x)
# apply the color mapping
df1.style.applymap(
_apply_prop(
df_clrs,
'background-color'
)
)
writer=pd.ExcelWriter('prueba.xlsx')
df1.to_excel(writer, sheet_name='prueba de color',index=False)
writer.save()
Valora esta pregunta


0