В гораздо большем проекте я использую маску, чтобы установить цвета для графика на основе ряда других входных данных. В одном наборе по умолчанию используется цвет 'darkgreen'
, если только маска не равна True
, тогда он превращается в 'white'
. Во втором сете верно обратное. Приведенный ниже код является MRE, который включает только настроенную маску / массив.
Секция, которая превращает 'darkgreen'
в 'white'
, работает нормально. Но когда я пытаюсь повернуть 'white'
до 'darkgreen'
, он усекает его до 'darkg'
. Я предполагаю, что он работает с тем же количеством символов в строке, но я не уверен, почему или как это исправить! Заранее спасибо.
import numpy as np
import pandas as pd
df=pd.DataFrame(np.random.randn(30, 2), columns=['A','B'])
a_mask = df['A'] > 0
b_mask = df['B'] > 0
n = 30
uca = ['darkgreen' for i in range(n)]
uca = np.array(uca)
uc = uca.copy()
uc[a_mask] = 'white'
dca = ['white' for i in range(n)]
dca = np.array(dca)
dc = dca.copy()
dc[b_mask] = 'darkgreen'
print(uc)
print(dc)