# ica.get\_explained\_variance\_ratio for individual ICA components

**URL:** <https://mne.discourse.group/t/ica-get-explained-variance-ratio-for-individual-ica-components/9144>\
**Category:** Support & Discussions\
**Tags:** preprocessing\
**Created:** [August 1, 2024, 1:40pm UTC](https://mne.discourse.group/t/ica-get-explained-variance-ratio-for-individual-ica-components/9144 "2024-08-01T13:40:21Z")\
**Posts on this page:** 1\
**Showing post:** 4

<div class="post-metadata">

**Author:** ![richard](https://yyz2.discourse-cdn.com/free1/user_avatar/mne.discourse.group/richard/32/15_2.png) [@richard](https://mne.discourse.group/u/richard)\
**Post date:** [August 2, 2024, 9:02am UTC](https://mne.discourse.group/t/ica-get-explained-variance-ratio-for-individual-ica-components/9144/4 "2024-08-02T09:02:41Z")

</div>

You can do something like this:

```python
# %%
import pandas as pd

import mne
from mne.preprocessing import ICA

sample_data_folder = mne.datasets.sample.data_path()
sample_data_raw_file = (
    sample_data_folder / "MEG" / "sample" / "sample_audvis_filt-0-40_raw.fif"
)
raw = (
    mne.io.read_raw_fif(sample_data_raw_file)
    .crop(tmax=60.0)
    .pick(picks=["mag", "eeg", "stim", "eog"])
)
raw.load_data()

filt_raw = raw.copy().filter(l_freq=1.0, h_freq=None)

ica = ICA(random_state=97)
ica.fit(filt_raw)

# %%
ch_types = ("mag", "eeg")
var_explained = pd.DataFrame(
    columns=ch_types, index=pd.RangeIndex(ica.n_components_, name="Component")
)
for component_idx in range(ica.n_components_):
    ratios = ica.get_explained_variance_ratio(filt_raw, components=component_idx)
    for ch_type, ratio in ratios.items():
        var_explained.loc[component_idx, ch_type] = ratio

var_explained

```

Produces this output:

 ![Screenshot 2024-08-02 at 11.02.15](https://global.discourse-cdn.com/free1/uploads/mne/original/2X/a/a2d0b5762edac5856ed6ff482a9a36af0f06faf5.png)

Best wishes,  
Richard

---

_[View the full topic](https://mne.discourse.group/t/ica-get-explained-variance-ratio-for-individual-ica-components/9144)._
