Я пытаюсь составить тепловую карту.
Я получаю свои данные из конвейера, который классифицирует некоторые строки как шумные, я решил получить график, включающий их, и график без них.
Проблема, с которой я столкнулся: На графике без шумных строк появляется пустая строка (столько же строк, сколько удалено строк).
Примерно код выглядит так (при необходимости я могу развернуть деталь, я стараюсь держать шорты). При необходимости я могу предоставить ссылку с аналогичными данными в открытом доступе.
data_frame = load_df_fromh5(file) # load a data frame from the hdf5 output
noisy = [..] # a list which indicate which row are vector
# I believe the problem being here:
noisy = [i for (i, v) in enumerate(noisy) if v == 1] # make a vector which indicates which index to remove
# drop the corresponding index
df_cells_noisy = df_cells[~df_cells.index.isin(noisy)].dropna(how="any")
#I tried an alternative method:
not_noisy = [0 if e==1 else 1 for e in noisy)
df = df[np.array(not_noisy, dtype=bool)]
# then I made a clustering using scipy
Z = hierarchy.linkage(df, method="average", metric="canberra", optimal_ordering=True)
df = df.reindex(hierarchy.leaves_list(Z))
# the I plot using the df variable
# quit long function I believe the problem being upstream.
plot(df)
Сюжет довольно длинный, но я считаю, что он работает хорошо, потому что проблема проявляется только при отсутствии шумного фрейма данных.
IMO Я так или иначе считаю pandas сохранить информацию об удаленных строки и что они представлены в виде пустой строки. Любая помощь приветствуется.
Контекст: это одноклеточные данные аномалии числа копий (отклонения числа копий сегмента генома c). Строки представляют отдельные столбцы (здесь отдельные ячейки), которые представляют столбцы для генома. c интервал номер копии (2 для ванили (кроме половой хромосомы)).