Как добавить категорию наблюдения к скудным на основе другого наблюдения?

У меня есть объединенная одноклеточная 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 (пример: (ссылка)).

Другие вопросы по тегам