🙂
機械学習でリストに値を追加時に使うメソッドについて: append, concat, extend, +
機械学習でリストに値を追加するときのメソッドについて、まとめます。
Pandas
機械学習等では、pandasを使って処理を行うことが多いです。この場合、concatを使います。
appendを使うとエラーになります。 2022/1/22にリリースされたpandas 1.4.0から、appendメソッドは非推奨になりました。エラーメッセージは、下記のとおりです。
AttributeError: module 'pandas' has no attribute 'append'
concat の処理
コード例は次のとおりです。
import pandas as pd
df1 = pd.DataFrame({'fruit': ['apple', 'banana'], 'quantity': [5, 3]})
df2 = pd.DataFrame({'fruit': ['cherry', 'orange'], 'quantity': [2, 4]})
all_fruits = pd.concat([df1, df2], ignore_index=True)
print(all_fruits)
【コード実行結果】
Python
Python使用時のリストに値を追加するときのメソッドは下記のとおりです。
append
末尾に要素の追加可能
my_list = ['apple', 'banana', 'cherry']
my_list.append('orange')
print(my_list)
【コード実行結果】
['apple', 'banana', 'cherry', 'orange']
extend, +
末尾以外に要素の追加可能。たとえば、リストの2番目に追加したいときは次のように引数を入れます。
my_list = ['apple', 'banana', 'cherry']
my_list2 = ['strawberry', 'orange']
my_list.extend(my_list2)
print(my_list)
【コード実行結果】
['apple', 'banana', 'cherry', 'strawberry', 'orange']
extendではなく、+を使うこともできます。感覚的に分かりやすいです。
my_list = ['apple', 'banana', 'cherry']
my_list2 = ['strawberry', 'orange']
my_list = my_list + my_list2
print(my_list)
【コード実行結果】
['apple', 'banana', 'cherry', 'strawberry', 'orange']
insert
末尾以外に要素の追加可能。
たとえば、リストの1番目の後に'orange'を追加したいときは次のように引数を入れます。
my_list = ['apple', 'banana', 'cherry']
my_list.insert(1, 'orange')
print(my_list)
【コード実行結果】
['apple', 'orange', 'banana', 'cherry']
Discussion