【Python入門】総和と総乗|簡易計算を学ぶ

総和と総乗|簡易計算を学ぶ_アイキャッチ プログラミング

※ 当サイトはアフィリエイト広告を利用しています。

levtech-ad
スポンサーリンク

Pythonの基本的な数値演算に「総和」や「総乗」があります。

リストやタプルなどの数値データを簡易的に計算するのに欠かせない基礎です。

本記事では、そんなPython基礎となる総和と総乗について、詳しくご説明します。

こんな人に読んでほしい
  • Python初心者の人
  • Pythonでの総和と総乗の計算方法について学びたい人
levtech-ad

総和

Pythonで総和を計算する3種類の方法をご紹介します。

sum()関数

sum()関数は、リストやタプルなどのイテラブルの要素を左から右へ合計し、総和を返す組み込み関数です。

使用例を以下にご紹介します。

#input
list = [1, 2, 3, 4, 5]
sum = sum(list)
print(sum)
#output
15

以下のように、引数に数値を指定すると、その数値も合計されます。

#input
list = [1, 2, 3, 4, 5]
sum = sum(list, 6)
print(sum)
#output
21

以下のように、引数にrange()関数を指定すると、連続あるいは等差の総和を返します。

#input
#1から10までの整数の総和
sum1 = sum(range(1,11))
print("1から10までの整数の総和:{}".format(sum1))

#1から9までの奇数の総和
sum2 = sum(range(1,10,2))
print("1から9までの奇数の総和:{}".format(sum2))

#2から10までの偶数の総和
sum3 = sum(range(2,11,2))
print("2から10までの偶数の総和:{}".format(sum3))
#output
1から10までの整数の総和:55
1から9までの奇数の総和:25
2から10までの偶数の総和:30

math.fsum()関数

mathモジュールのmath.fsum()関数は、イテラブルの値の浮動小数点数の正確な和を返す関数です。

例を以下に載せます。

#input
#sum()関数
list = [0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1]
sum1 = sum(list)

#math.fsum()関数
import math
sum2 = math.fsum(list)

print("sum()関数による総和:{}".format(sum1))
print("math.fsum()関数による総和:{}".format(sum2))
#output
sum()関数による総和:0.9999999999999999
math.fsum()関数による総和:1.0

sum()関数で生じていた誤差について、math.fsum()関数では生じず、正確な値が計算されていることが分かるかと思います。

numpy.sum()関数

Pythonの外部ライブラリNumPyのnumpy.sum()関数は、配列から指定した軸に沿って総和を計算できます。

#input
#  NumPyをインストールしていない場合、インストールする
#  pip install numpy

import numpy as np

#3x3で配列定義
x = np.array([[1, 2, 3],
              [4, 5, 6],
              [7, 8, 9]])

sum1 = np.sum(x)
sum2 = np.sum(x,axis = 0)
sum3 = np.sum(x,axis = 1)

print("配列の総和:{}".format(sum1))
print("配列の縦軸総和:{}".format(sum2))
print("配列の横軸総和:{}".format(sum3))
#output
配列の総和:45
配列の縦軸総和:[12 15 18]
配列の横軸総和:[ 6 15 24]

総乗

Pythonで総乗を計算する2種類の方法をご紹介します。

math.prod() 関数

mathモジュールのmath.prod()関数は、リストやタプルなどのイテラブルの要素の総乗を返す関数です。

#input
import math
list = [1, 2, 3, 4, 5]
pro = math.prod(list)
print(pro)
#output
120

numpy.prod()関数

Pythonの外部ライブラリNumPyのnumpy.prod()関数は、配列から指定した軸に沿って総乗を計算できます。

#input
#  NumPyをインストールしていない場合、インストールする
#  pip install numpy

import numpy as np

#3x3で配列定義
x = np.array([[1, 2, 3],
              [4, 5, 6],
              [7, 8, 9]])

pro1 = np.prod(x)
pro2 = np.prod(x,axis = 0)
pro3 = np.prod(x,axis = 1)

print("配列の総乗:{}".format(pro1))
print("配列の縦軸総乗:{}".format(pro2))
print("配列の横軸総乗:{}".format(pro3))
#output
配列の総乗:362880
配列の縦軸総乗:[ 28  80 162]
配列の横軸総乗:[  6 120 504]

まとめ

この記事では、Python基礎となる総和と総乗について、ご説明しました。

本記事を参考に、ぜひ試してみて下さい。

参考

Python学習用おすすめ教材

Pythonの基本を学びたい方向け

統計学基礎を学びたい方向け

Pythonの統計解析を学びたい方向け

おすすめプログラミングスクール

Pythonをはじめ、プログラミングを学ぶなら、TechAcademy(テックアカデミー)がおすすめです。

私も入っていますが、好きな時間に気軽にオンラインで学べますので、何より楽しいです。

現役エンジニアからマンツーマンで学べるので、一人では中々続かない人にも、向いていると思います。

無料体験ができますので、まずは試してみてください!

\まずは無料体験!/
スポンサーリンク
タイトルとURLをコピーしました