ホームページ > バックエンド開発 > Python チュートリアル > Pandas の `map`、`applymap`、または `apply` をいつ使用するか?

Pandas の `map`、`applymap`、または `apply` をいつ使用するか?

Linda Hamilton
リリース: 2024-12-07 08:36:16
オリジナル
831 人が閲覧しました

When to Use Pandas `map`, `applymap`, or `apply`?

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
ログイン後にコピー

使用法概要

  • map: Series への要素ごとの関数の適用
  • applymap: DataFrame
  • apply: 行/列単位柔軟な入出力処理による DataFrame への関数の適用

以上がPandas の `map`、`applymap`、または `apply` をいつ使用するか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート