Skip to content

calculations.py

FUNCTION DESCRIPTION
calculate_pleasantness

Calculate pleasantness for each row in a survey dataset.

calculate_presence

Calculate presence for each row in a survey dataset.

calculate_pleasantness

calculate_pleasantness(df)

Calculate pleasantness for each row in a survey dataset.

This function process the provided survey DataFrame and appends a new column called 'pleasantness_score' based on pleasant, unpleasant and other parameters.

PARAMETER DESCRIPTION
df

A DataFrame containing survey data. Must include columns required for computing the score.

TYPE: DataFrame

RETURNS DESCRIPTION
DataFrame

A copy of the input DataFrame with an additional column 'pleasantness_score'.

Examples:

>>> import pandas as pd
>>> from smellscapy.surveys import validate
>>> from smellscapy.databases.DataExample import load_example_data
>>> from smellscapy.calculations import calculate_pleasantness
>>> df = load_example_data()
>>> df, excl_df = validate(df)
>>> df = calculate_pleasantness(df)
Source code in src/smellscapy/calculations.py
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
def calculate_pleasantness(df: pd.DataFrame):
    """
    Calculate pleasantness for each row in a survey dataset. 

    This function process the provided survey DataFrame and appends 
    a new column called `'pleasantness_score'` based on pleasant, unpleasant and other parameters.

    Parameters
    ----------
    df : pd.DataFrame
        A DataFrame containing survey data. Must include columns
        required for computing the score.

    Returns
    -------
    pandas.DataFrame
        A copy of the input DataFrame with an additional column `'pleasantness_score'`.

    Examples
    --------
        >>> import pandas as pd
        >>> from smellscapy.surveys import validate
        >>> from smellscapy.databases.DataExample import load_example_data
        >>> from smellscapy.calculations import calculate_pleasantness
        >>> df = load_example_data()
        >>> df, excl_df = validate(df)
        >>> df = calculate_pleasantness(df)
    """

    return df.assign(pleasantness_score=(
            (df['pleasant'] - df['unpleasant']) + 
            COS45 * (df['light'] - (df['overpowering'])) +
            COS45 * (df['engaging'] - (df['detached']))
        ) * WEIGHT
    )

calculate_presence

calculate_presence(df)

Calculate presence for each row in a survey dataset.

This function process the provided survey DataFrame and appends a new column called 'presence_score' based on present, absent and other parameters.

PARAMETER DESCRIPTION
df

A DataFrame containing survey data. Must include columns required for computing the score.

TYPE: DataFrame

RETURNS DESCRIPTION
DataFrame

A copy of the input DataFrame with an additional column 'presence_score'.

Examples:

>>> import pandas as pd
>>> from smellscapy.surveys import validate
>>> from smellscapy.databases.DataExample import load_example_data
>>> from smellscapy.calculations import calculate_presence
>>> df = load_example_data()
>>> df, excl_df = validate(df)
>>> df = calculate_presence(df)
Source code in src/smellscapy/calculations.py
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
def calculate_presence(df: pd.DataFrame):
    """
    Calculate presence for each row in a survey dataset. 

    This function process the provided survey DataFrame and appends 
    a new column called `'presence_score'` based on present, absent and other parameters.

    Parameters
    ----------
    df : pd.DataFrame
        A DataFrame containing survey data. Must include columns
        required for computing the score.

    Returns
    -------
    pandas.DataFrame
        A copy of the input DataFrame with an additional column `'presence_score'`.

    Examples
    --------
        >>> import pandas as pd
        >>> from smellscapy.surveys import validate
        >>> from smellscapy.databases.DataExample import load_example_data
        >>> from smellscapy.calculations import calculate_presence
        >>> df = load_example_data()
        >>> df, excl_df = validate(df)
        >>> df = calculate_presence(df)

    """

    return df.assign(presence_score=(
            (df['present'] - (df['absent'])) +
            COS45 * ((df['overpowering']) - df['light']) +
            COS45 * (df['engaging'] - (df['detached']))
        ) * WEIGHT
    )