Pandas での map、applymap、apply の選択
Pandas DataFrame を使用する場合、多くの場合、データに関数を適用する必要があります。さまざまな方法で。ベクトル化によく使用される 3 つの方法は、map、applymap、および apply です。それぞれに独自の目的と用途があります。
Map
map は Series オブジェクトに固有のメソッドであり、Series 内の各要素に関数を適用します。単一の値を入力として受け取り、単一の値を返す関数が必要です。
例:
import pandas as pd # Create a Series series = pd.Series([1, 2, 3, 4, 5]) # Apply a function to each element def square(x): return x**2 # Apply the function to the series using map squared_series = series.map(square) print(squared_series)
出力:
0 1 1 4 2 9 3 16 4 25 dtype: int64
Applymap
applymap は関数を適用しますDataFrame の各要素。要素ごとに操作を実行します。 Map と同様に、単一の値を入力として受け取り、単一の値を返す関数が必要です。
例:
# Create a DataFrame df = pd.DataFrame({'a': [1, 2, 3], 'b': [4, 5, 6]}) # Apply a function to each element of the DataFrame def format_number(x): return "{:.2f}".format(x) # Apply the function to the DataFrame using applymap formatted_df = df.applymap(format_number) print(formatted_df)
出力:
a b 0 1.00 4.00 1 2.00 5.00 2 3.00 6.00
Apply
apply は関数を適用します軸パラメータに応じて、DataFrame の各行または列に追加されます。これは、map や applymap よりも汎用性が高く、入力として複数の値を渡す必要がある関数を処理できます。
例:
# Apply a function to each row of the DataFrame def get_max_min_diff(row): return row.max() - row.min() max_min_diff = df.apply(get_max_min_diff, axis=1) print(max_min_diff)
出力:
0 3.00 1 3.00 2 3.00 dtype: float64
使用法概要
以上がPandas の `map`、`applymap`、または `apply` をいつ使用するか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。