# Introduction to NumPy | Screen 12

https://app.dataquest.io/c/54/m/289/introduction-to-numpy/12/calculating-statistics-for-2-d-ndarrays

``````# we'll compare against the first 5 rows only
taxi_first_five = taxi[:5]
# select these columns: fare_amount, fees_amount, tolls_amount, tip_amount
fare_components = taxi_first_five[:,9:13]

fare_sums = fare_components.sum(axis=1)
fare_totals = taxi_first_five[:,13]
print(fare_totals)
print(fare_sums)
``````

How come the output is the same
taxi_firs-five is selecting the first 5 rows and 13th column, which is total
fare_components is selecting all 4 rows and adding up

but the output is the same; I did not understand that part
How come output is both 5 rows, because fare_components has all rows

Output

[ 69.99 54.3 37.8 32.76 18.8]
[ 69.99 54.3 37.8 32.76 18.8]

`taxi_first_five` stores the first 5 rows and all the columns from `taxi`

`fare_components` stores all rows and columns 9 to 12 (including 12th). These rows and columns are from `taxi_first_five`.

Note: When we use slicing for a numpy array, like we did for lists, `9:13` means `9, 10, 11, 12`. The `13` is not inclusive.

Then we sum the columns in `fare_components` for each row

So, the above will return 5 values (because we have 5 rows), where each value is the sum of values from all the columns - `9, 10, 11, 12`. We store these in `fare_sums`.

`fare_totals` stores the values for all rows and the `13`th column from `taxi_first_five`.