Pythonのデータ分析ライブラリであるpandasでは、バージョン1.4.0からDataFrame型とSeries型で提供されていたappend
メソッドが非推奨となりました。この変更は、append
メソッドのパフォーマンスとデータ構造に関連する問題によるものです。
appendメソッドからconcatメソッドへ
非推奨となったappend
メソッドの代わりに、pandas.concat
メソッドの使用が推奨されています。しかし、単純にappend
をconcat
に置き換えるだけでは、パフォーマンスの観点から見て最適とは言えません。
特に、ループの中でappend
やconcat
を使用している場合、DataFrameのインスタンスを繰り返し操作するよりも、Pythonのプリミティブなlistやdictでデータの集合を扱い、最後にDataFrameに変換してからconcat
する方が効率的です。
例: appendメソッドからconcatメソッドへの変更
以下に、append
メソッドからconcat
メソッドへの変更例を示します。
import pandas as pd
# appendメソッドを使用した例
df = pd.DataFrame(columns=['name', 'age', 'favorite'])
df = df.append({'name': 'Bob', 'age': 25, 'favorite': 'apple'}, ignore_index=True)
# concatメソッドを使用した例
list = [['Tom', 32, 'orange']]
df_append = pd.DataFrame(data=list, columns=['name', 'age', 'favorite'])
df = pd.concat([df, df_append], ignore_index=True, axis=0)
この変更により、append
メソッドを使用していたコードは、新しいバージョンのpandasでも動作するように修正する必要があります。
まとめ
- pandasの
append
メソッドが非推奨となり、その代わりにconcat
メソッドの使用が推奨されています。ただし、パフォーマンスを考慮すると、append
を単にconcat
に置き換えるだけではなく、より効率的な方法を検討することが重要です。 -
[Python] pandas 行を追加をappendメソッドからconcatメソッドに変更する
-
pandasのappendが1.4でDeprecatedされた件.