ホームページ  >  記事  >  バックエンド開発  >  Pandas で単一の関数出力から複数の新しい列を作成する方法

Pandas で単一の関数出力から複数の新しい列を作成する方法

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-28 15:09:02300ブラウズ

How to Create Multiple New Columns from a Single Function Output in Pandas?

Pandas 関数を使用した複数の新しい列の作成

Pandas では、単一の関数を列に適用し、それに基づいて複数の新しい列を作成できます。

次のシナリオを考えてみましょう。

テキスト列を受け取り、6 つの出力列を返す関数 extract_text_features があります。関数自体は機能しますが、出力を特定の列に割り当てると課題が生じます。

Zip を使用した解決策:

効果的なアプローチの 1 つは、zip 関数を使用して、値を複数の列に出力します:

<code class="python">def powers(x):
    return x, x**2, x**3, x**4, x**5, x**6

df = pd.DataFrame([[i] for i in range(10)], columns=['num'])
df['p1'], df['p2'], df['p3'], df['p4'], df['p5'], df['p6'] = zip(*df['num'].map(powers))</code>

ここで、map() 関数は 'num' 列の各行にべき乗を適用し、zip は出力を個々の列に解凍します。

これこのメソッドは、関数の出力値に基づいて複数の新しい列を効率的に生成します。 df.assign() などの新しい機能に依存する他のソリューションとは異なり、古いバージョンの Pandas とも互換性があります。

以上がPandas で単一の関数出力から複数の新しい列を作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。