[解決済み】複数の引数を持つ関数を適用して、新しいpandasカラムを作成する。
2022-04-08 12:26:09
質問
に新しいカラムを作りたいのですが、どうすればいいですか?
pandas
データフレームは、既存の 2 つの列に関数を適用することで作成されます。以下はその例です。
回答
引数として1列だけ必要な時に、新しい列を作ることができました。
import pandas as pd
df = pd.DataFrame({"A": [10,20,30], "B": [20, 30, 10]})
def fx(x):
return x * x
print(df)
df['newcolumn'] = df.A.apply(fx)
print(df)
しかし、関数が複数の引数を必要とする場合、同じことを行う方法がわかりません。例えば、以下の関数にA列とB列を渡して新しい列を作成するにはどうしたらよいでしょうか?
def fxy(x, y):
return x * y
解決方法は?
または、numpy の基礎となる関数を使用することもできます。
>>> import numpy as np
>>> df = pd.DataFrame({"A": [10,20,30], "B": [20, 30, 10]})
>>> df['new_column'] = np.multiply(df['A'], df['B'])
>>> df
A B new_column
0 10 20 200
1 20 30 600
2 30 10 300
または任意の関数をベクトル化する一般的なケース。
>>> def fx(x, y):
... return x*y
...
>>> df['new_column'] = np.vectorize(fx)(df['A'], df['B'])
>>> df
A B new_column
0 10 20 200
1 20 30 600
2 30 10 300
関連
-
[解決済み] Pandasのカラム名のリネーム
-
[解決済み] Pandas DataFrameからカラムを削除する
-
[解決済み] Pandasのデータフレームで複数の列を選択する
-
[解決済み] 既存のDataFrameに新しい列を追加する方法は?
-
[解決済み] 一行ずつ追加してPandas Dataframeを作成する
-
[解決済み] pandasを使った "大量データ "ワークフロー【終了しました
-
[解決済み] データフレームをピボットするにはどうしたらいいですか?
-
[解決済み】Pandas DataFrameのカラムヘッダからリストを取得する。
-
[解決済み】pandasでカラムの種類を変更する
-
[解決済み】pandasの関数をカラムに適用して、複数の新しいカラムを作成する?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
PicgoのイメージベッドツールをPythonで実装する
-
Pythonによるjieba分割ライブラリ
-
pyCaret効率化乗算器 オープンソース ローコード Python機械学習ツール
-
Python 入出力と高次代入の基礎知識
-
Pythonの画像ファイル処理用ライブラリ「Pillow」(グラフィックの詳細)
-
[解決済み】TypeErrorの修正方法。Unicodeオブジェクトは、ハッシュ化する前にエンコードする必要がある?
-
[解決済み】Django: ImproperlyConfigured: SECRET_KEY 設定は空であってはならない
-
[解決済み】TypeError: 系列を <class 'float'> に変換することができません。
-
[解決済み】Python: SyntaxError: キーワードは式になり得ない
-
[解決済み] apply()関数を1つの列に対して使用するにはどうすればよいですか?