🙂

機械学習でリストに値を追加時に使うメソッドについて: append, concat, extend, +

2024/01/08に公開

機械学習でリストに値を追加するときのメソッドについて、まとめます。

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