У меня есть большой набор данных, и я хотел бы отметить все ячейки с "уничтоженными" в них красным. Мне удалось сделать это с помощью следующего кода, но это заняло много времени, и файл, на котором я хочу его использовать, стал еще больше. Слово «уничтожено» просто появляется в одном столбце, так что я могу просто искать в одном столбце или есть другой способ сделать это быстрее? Я только что создал таблицу, размер которой похож на мой файл в качестве примера.
import pandas as pd
import numpy as np
import os
cwd = os.getcwd()
np.random.seed(24)
df = pd.DataFrame({'A': np.linspace(1, 10, 10)})
df = pd.concat([df, pd.DataFrame(np.random.randn(21000, 4), columns=list('FCDE'))],
axis=1)
df.iloc[0, 2] = "destroyed"
df.iloc[1, 2] = "destroyed"
df.iloc[2, 2] = "running"
df.iloc[3, 2] = "destroyed"
df.iloc[4, 2] = "destroyed"
df.iloc[5, 2] = "running"
df.iloc[6, 2] = "destroyed"
df.iloc[7, 2] = "running"
df.iloc[8, 2] = "Verschrottet"
df.iloc[9, 2] = "running"
Создание примера таблицы.
def color_negative_red(val):
color = 'red' if val == "destroyed" else 'white'
return 'background-color: %s' % color
s = df.style.applymap(color_negative_red)
dat = "C:\User"
os.chdir(dat)
name = ('%s_Datenbank.xlsx' %("today"))
s.to_excel(name)
Создание файла excel с отмеченными ячейками.
Это должно выглядеть так потом. Таблица