Добавить цвет для файлов столбцов csv на pandas с python - PullRequest
0 голосов
/ 13 июля 2020

Я пытаюсь прочитать файл данных csv, это сделано, но я хочу записать другие данные с некоторыми условиями добавить стиль (цвет, оба ...) для данных в файле csv.

i) I прочитать данные из файла csv, это простой тестовый файл, который сначала применяет большой файл данных, поэтому тест данных - это файл

cod     price   var
AMZ     8484    -1.15
BABA    1390    3.5
GOGL    327     -10.5
MSFT    1135    3.3
VISA    6499    2.0
PBB     1055    4.0
CHC     3455    1.1
IFT     5228    -4.0
FRA     4555    2.0

ii) поставьте условия и значения только для чтения, которые столбец var> 1

iii) вернуть основной цвет в столбец cod:

 red where var => 3 
 yellow where var = 2 <3

iv) сохранить в других данных csv

мой код до момента:

import pandas as pd

df = pd.read_csv("teste.csv") 
f1 = df['var'] > 1    


df[f1].to_csv('export.csv')

Я не знаю, как использовать стиль в pandas, не могли бы вы помочь мне в этом случае?

1 Ответ

0 голосов
/ 13 июля 2020

Вы можете попробовать что-то вроде этого

import numpy as np
import pandas as pd


df = pd.DataFrame([[8484,-1.15],[1390,3.5],[327,10.5],[1135,3.3],[6499,2.0],[1055,4.0]], columns=['data1','dat2'])


def color_rule(val):
    return ['background-color: red' if x >= 3 else 'background-color: yellow' for x in val]

html_column = df.style.apply(color_rule, axis=1, subset=['dat2'])

html_column.to_excel('styled.xlsx', engine='openpyxl')

html_column

# edit: вы можете экспортировать свой стилизованный фрейм данных с помощью to_excel

# edit2: изменить цвет столбца 'Cod' вместо столбца ' var '

import numpy as np
import pandas as pd


df = pd.DataFrame([['ex1',8484,-1.15],['ex2',1390,3.5],['ex3',327,10.5],['ex4',1135,3.3],['ex5',6499,2.0],['ex6',1055,4.0]], columns=['tag','data1','dat2'])


def color_rule(tag):
    var1 = df['dat2'][df['tag'] == tag.values[0]]
    return ['background-color: red' if x >= 3 else 'background-color: yellow' for x in var1]

html_column = df.style.apply(color_rule, axis=1, subset=['tag'])

html_column.to_excel('styled.xlsx', engine='openpyxl')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...