| |
- sum(value_expression)
- DESCRIPTION:
Function returns a column value that is the arithmetic sum of value_expression.
PARAMETERS:
value_expression:
Required Argument.
Specifies a ColumnExpression of a numeric column for which the sum
is to be computed.
Format for the argument: '<dataframe>.<dataframe_column>.expression'.
NOTE:
Function accepts positional arguments only.
EXAMPLES:
# Load the data to run the example.
>>> load_example_data("dataframe", "admissions_train")
>>>
# Create a DataFrame on 'admissions_train' table.
>>> admissions_train = DataFrame("admissions_train")
>>> admissions_train
masters gpa stats programming admitted
id
22 yes 3.46 Novice Beginner 0
36 no 3.00 Advanced Novice 0
15 yes 4.00 Advanced Advanced 1
38 yes 2.65 Advanced Beginner 1
5 no 3.44 Novice Novice 0
17 no 3.83 Advanced Advanced 1
34 yes 3.85 Advanced Beginner 0
13 no 4.00 Advanced Novice 1
26 yes 3.57 Advanced Advanced 1
19 yes 1.98 Advanced Advanced 0
>>>
# Example 1: Calculate the total number of admitted students. This can be
# done by calculating the sum of values in the "admitted" column.
# This column contains value 1 if student is admitted else contains 0.
# Import func from sqlalchemy to execute sum function.
>>> from sqlalchemy import func
# Create a sqlalchemy Function object.
>>> sum_func_ = func.sum(admissions_train.admitted.expression)
>>>
# Pass the Function object as input to DataFrame.assign().
>>> df = admissions_train.assign(True, sum_admitted_=sum_func_)
>>> print(df)
sum_admitted_
0 26
>>>
# Example 2: Calculate the total number of admitted students for each level of
# programming. This can be done by calculating the sum of values in
# the "admitted" column and grouping data on "programming" column.
# The "admitted" column contains value 1 is student is admitted else
# contains 0.
# Note:
# When assign() is run after DataFrame.groupby(), the function ignores
# the "drop_columns" argument.
>>> admissions_train.groupby("programming").assign(res=func.sum(admissions_train.admitted.expression))
programming res
0 Advanced 13
1 Novice 8
2 Beginner 5
>>>
|