Как добавить категорию наблюдения к скудным на основе другого наблюдения?
У меня есть объединенная одноклеточная RNAseq anndata с
obs: "Возраст", "Подтип EPN", "Регион", "Подкласс", "Таксономическая_группа", "Ткань", "партия", "фен", "образец", "подтип", "лечение", "n_genes", 'процент_мито', 'n_counts', 'Лейден'
И я хочу создать еще один obs "Sex" для разных "семплов".
Я знаю, что могу создать новое обследование с помощью
adata.obs["sex"] = "женский"
но как мне сделать это для отдельных категорий выборок, а не для всего набора?
Спасибо!
0 ответов
Так что
adata.obs
(или
adata.var
) атрибута AnnData является pandas.DataFrame. Так что вы можете использовать их как таковые.
Например, представьте, что
adata.obs
содержит информацию о помеченных ячейках
AACT
,
AACG
и
AACC
. Также представьте, что фрейм данных содержит информацию о возрасте и ткани. Фрейм данных будет содержать 3 индекса, которые соответствуют меткам ячеек, и два столбца, которые соответствуют
Age
и
Tissue
.
adata.obs
Index Age Tissue
AACT 26 Lung
AACG 40 Lung
AACC 34 Lung
Теперь, как вы сказали, если вы напечатаете
adata.obs['sex'] = 'female'
, он создаст новый столбец с именем
sex
со строкой "женский" для каждого индекса фрейма данных.
adata.obs
Index Age Tissue sex
AACT 26 Lung female
AACG 40 Lung female
AACC 34 Lung female
Представьте себе, что клетка
AACC
и
AACG
на самом деле исходит от пациента "мужского пола", можно написать:
male_patients = ['AACC', 'AACG']
adata.obs.loc[male_patients, 'sex'] = 'male'
что приведет к:
adata.obs
Index Age Tissue sex
AACT 26 Lung female
AACG 40 Lung male
AACC 34 Lung male
Обратите внимание, что я использовал .loc\[\]
атрибут для доступа к определенному элементу фрейма данных с использованием имени индекса (['AACC', 'AACG']
) и имена столбцов ('sex'
).
Я предлагаю вам следовать некоторому руководству, чтобы узнать, как работать с Python pandas DataFrame (пример: (ссылка)).