import pandas as pd, anndata as ad, numpy as np
adatas = [
ad.AnnData(
X=np.ones((1, 2)),
obs=pd.DataFrame({"1": ["a"], "2": ["b"]}),
var=pd.DataFrame(index=["1", "2"]),
),
ad.AnnData(
X=np.ones((1, 2)),
obs=pd.DataFrame({"1": ["a"], "3": ["b"]}),
var=pd.DataFrame(index=["1", "3"]),
),
]
ad.concat(adatas, join="outer").obs.columns # ["1", "2", "3"]
ad.concat(adatas, join="outer").var_names # ["1", "2", "3"]
ad.concat(adatas, join="inner").obs.columns # ["1"]
ad.concat(adatas, join="inner").var_names # ["1"]
See
|
if are_any_annotations_dataframes: |
|
annotations_in_memory = ( |
|
to_memory(a) if isinstance(a, Dataset2D) else a for a in annotations |
|
) |
|
concat_annot = pd.concat( |
|
unify_dtypes(annotations_in_memory), |
|
join=join, |
|
ignore_index=True, |
|
) |
|
concat_annot.index = concat_indices |
|
else: |
|
concat_annot = concat_dataset2d_on_annot_axis( |
|
annotations, |
|
join, |
|
force_lazy=force_lazy, |
|
concat_indices=concat_indices, |
|
) |
which takes the same parameter as the off axis
|
alt_indices = merge_indices( |
|
[axis_indices(a, axis=alt_axis) for a in adatas], join=join |
|
) |
See
anndata/src/anndata/_core/merge.py
Lines 1686 to 1702 in 753f058
which takes the same parameter as the off axis
anndata/src/anndata/_core/merge.py
Lines 1673 to 1675 in 753f058