どうも、ちょげ(@chogetarou)です。
配列(Array)の要素ごとに特定の値を掛け算する方法を紹介します。
方法

List(リスト)とArray.arrayの場合
リスト(list)もしくはArray.arrayの要素ごとに特定の値を掛け算する方法は、4つあります。
[]
1つ目は、[]を使う方法です。
まず、[]をリストもしくはArray.arrayに代入します。
そして、[]内でリストもしくはArray.arrayをforループします。
ループ処理でリストもしくはArray.arrayの要素と値を掛け算します。
list = [i * value for i in list]
#tは型、valueは値
array = array.array('t', [i * value for i in array])
上記の[]は、配列の要素ごとに値を掛け算した新しいリストもしくはArray.arrayを生成します。
使用例
numbers = [1, 2, 3, 4, 5]
numbers = [i * 5 for i in numbers]
print(numbers) #[5, 10, 15, 20, 25]
import array
numbers = array.array('i', [1, 2, 3, 4, 5])
numbers = array.array('i', [i * 3 for i in numbers])
print(numbers) #array('i', [3, 6, 9, 12, 15])
append()
2つ目は、append()を使う方法です。
まず、新しいListもしくはArray.arrayを用意します。
new_array = []
new_array = array.array('t') #tは型
そして、要素ごとに掛け算するListもしくはArray.arrayをforループします。
ループ処理で、用意したListもしくはArray.arrayからappend()を呼び出します。
append()の引数で、ループしたListもしくはArray.arrayの要素に特定の値を掛け算します。
for i in array:
new_array.append(i * value)
上記のforループは、用意したListもしくはArray.arrayに、ループしたListの要素ごとに値を掛け算したListもしくはArray.arrayを格納します。
使用例
numbers = [1, 2, 3, 4, 5]
new_numbers = []
for i in numbers:
new_numbers.append(i * 3)
print(new_numbers) #[3, 6, 9, 12, 15]
import array
numbers = array.array('i', [1, 2, 3, 4, 5])
new_numbers = array.array('i')
for i in numbers:
new_numbers.append(i * 5)
print(new_numbers) #array('i', [5, 10, 15, 20, 25])
pandasのseries
3つ目は、pandasパッケージのseriesを使う方法です。
まず、Pandasパッケージをインポートします。
import pandas as pd
次に、リスト(もしくはArray.array)からpandasのSeriesを生成します。
s = pd.Series(array)
そして、Seriesの変数に特定の値を掛け、結果をリスト(もしくはArray.array)に変換します。
Seriesから変換したリスト(もしくはArray.array)を、元のリスト(もしくはArray.array)に代入します。
list = (s * value).tolist() #valueは掛ける値
#tは型、valueは値
array = array.array('t', s * value)
ここまでの処理で、リスト(もしくはArray.array)の要素ごとに特定の値が掛けられます。
使用例
import pandas as pd
numbers = [1, 2, 3, 4, 5]
s = pd.Series(numbers)
numbers = (s * 4).tolist()
print(numbers) #[4, 8, 12, 16, 20]
import array
import pandas as pd
numbers = array.array('i', [1, 2, 3, 4, 5])
new_numbers = pd.Series(numbers)
numbers = array.array('i', new_numbers * 5)
print(numbers) #array('i', [5, 10, 15, 20, 25])
numpy配列
4つ目は、numpy配列を使う方法です。
まず、numpyをインポートします。
import numpy as np
次に、リスト(もしくはArray.array)からnumpy配列を生成します。
new_array = np.array(array)
そして、numpy配列の変数に特定の値を掛け、掛けた結果をリスト(もしくはArray.array)に変換します。
numpy配列から変換したリスト(もしくはArray.array)を、元のリスト(もしくはArray.array)に代入します。
list = (new_array * value).tolist() #valueは掛ける値
#tは型、valueは値
array = array.array('t', new_array * value)
ここまでの処理で、リスト(もしくはArray.array)の要素ごとに特定の値が掛けられます。
使用例
import numpy as np
numbers = [1, 2, 3, 4, 5]
new_numbers = np.array(numbers)
numbers = (new_numbers * 5).tolist()
print(numbers) #[5, 10, 15, 20, 25]
import array
import numpy as np
numbers = array.array('i', [1, 2, 3, 4, 5])
new_numbers = np.array(numbers)
numbers = array.array('i', new_numbers * 10)
print(numbers) #array('i', [10, 20, 30, 40, 50])
Numpy配列の場合
numpy配列(Array)の要素ごとに特定の値を掛け算するには、「*」を使います。
具体的には、numpy配列と値を「*」で掛け算します。
掛け算した結果を、numpy配列に代入します。
array = array * value
「*」で値を掛けることで、Numpy配列の要素ごとに特定の値が掛けられます。
使用例
import numpy as np
nums = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9],] )
nums = nums * 10
print(nums)
#[[10 20 30]
# [40 50 60]
# [70 80 90]]
まとめ
リスト(List)の要素ごとに特定の値を掛け算するには、次の4つの方法のいずれかを使います。
- []を使う方法
- append()を使う方法
- pandasのシリーズを使う方法
- numpy配列を使う方法
Numpy配列の要素ごとに値を掛け算するには、「*」を使います。
コメント