<<<<<<< HEAD pandas_profiling.report.notebook API documentation ======= pandas_profiling.view.notebook API documentation >>>>>>> master

Module pandas_profiling.report.notebook

Functionality related to displaying the profile report in Jupyter notebooks.

Expand source code
"""Functionality related to displaying the profile report in Jupyter notebooks."""
import html
from pathlib import Path


from pandas_profiling.config import config


def get_notebook_iframe_srcdoc(profile):
    """Get the IPython HTML object with ifram with the srcdoc attribute

    Args:
        profile: The profile report object

    Returns:
        IPython HTML object.
    """
    from IPython.core.display import HTML

    iframe = """
                <iframe
                    width="{width}"
                    height="{height}"
                    srcdoc="{src}"
                    frameborder="0"
                    allowfullscreen
                ></iframe>
                """
    iframe = iframe.format(
        width=config["notebook"]["iframe"]["width"].get(str),
        height=config["notebook"]["iframe"]["height"].get(str),
        src=html.escape(profile.to_html()),
    )
    return HTML(iframe)


def get_notebook_iframe_src(profile):
    """Get the IPython IFrame object

    Args:
        profile: The profile report object

    Returns:
        IPython IFrame object.
    """
    tmp_file = Path("./ipynb_tmp") / profile.get_unique_file_name()
    tmp_file.parent.mkdir(exist_ok=True)
    profile.to_file(tmp_file)
    from IPython.lib.display import IFrame

    return IFrame(
        str(tmp_file),
        width=config["notebook"]["iframe"]["width"].get(str),
        height=config["notebook"]["iframe"]["height"].get(str),
    )


def display_notebook_iframe(profile):
    """Display the profile report in an iframe in the Jupyter notebook

    Args:
        profile: The profile report object

    Returns:
        Displays the Iframe
    """
    from IPython.core.display import display

    attribute = config["notebook"]["iframe"]["attribute"].get(str)
    if attribute == "src":
        output = get_notebook_iframe_src(profile)
    elif attribute == "srcdoc":
        output = get_notebook_iframe_srcdoc(profile)
    else:
        raise ValueError(
            'Iframe Attribute can be "src" or "srcdoc" (current: {}).'.format(attribute)
        )

    display(output)

Functions

def display_notebook_iframe(profile)

Display the profile report in an iframe in the Jupyter notebook

Args

profile
The profile report object

Returns

Displays the Iframe
 
Expand source code
def display_notebook_iframe(profile):
    """Display the profile report in an iframe in the Jupyter notebook

    Args:
        profile: The profile report object

    Returns:
        Displays the Iframe
    """
    from IPython.core.display import display

    attribute = config["notebook"]["iframe"]["attribute"].get(str)
    if attribute == "src":
        output = get_notebook_iframe_src(profile)
    elif attribute == "srcdoc":
        output = get_notebook_iframe_srcdoc(profile)
    else:
        raise ValueError(
            'Iframe Attribute can be "src" or "srcdoc" (current: {}).'.format(attribute)
        )

    display(output)
def get_notebook_iframe_src(profile)

Get the IPython IFrame object

Args

profile
The profile report object

Returns

IPython IFrame object.

Expand source code
def get_notebook_iframe_src(profile):
    """Get the IPython IFrame object

    Args:
        profile: The profile report object

    Returns:
        IPython IFrame object.
    """
    tmp_file = Path("./ipynb_tmp") / profile.get_unique_file_name()
    tmp_file.parent.mkdir(exist_ok=True)
    profile.to_file(tmp_file)
    from IPython.lib.display import IFrame

    return IFrame(
        str(tmp_file),
        width=config["notebook"]["iframe"]["width"].get(str),
        height=config["notebook"]["iframe"]["height"].get(str),
    )
def get_notebook_iframe_srcdoc(profile)

Get the IPython HTML object with ifram with the srcdoc attribute

Args

profile
The profile report object

Returns

IPython HTML object.

Expand source code
def get_notebook_iframe_srcdoc(profile):
    """Get the IPython HTML object with ifram with the srcdoc attribute

    Args:
        profile: The profile report object

    Returns:
        IPython HTML object.
    """
    from IPython.core.display import HTML

    iframe = """
                <iframe
                    width="{width}"
                    height="{height}"
                    srcdoc="{src}"
                    frameborder="0"
                    allowfullscreen
                ></iframe>
                """
    iframe = iframe.format(
        width=config["notebook"]["iframe"]["width"].get(str),
        height=config["notebook"]["iframe"]["height"].get(str),
        src=html.escape(profile.to_html()),
    )
    return HTML(iframe)