ホームページ >バックエンド開発 >Python チュートリアル >Pandas で単一のテキスト列から複数の新しい列を効率的に作成するにはどうすればよいですか?

Pandas で単一のテキスト列から複数の新しい列を効率的に作成するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-29 08:27:03598ブラウズ

How to Efficiently Create Multiple New Columns from a Single Text Column in Pandas?

Pandas を使用して単一のテキスト列に基づいて複数の新しい列を作成する

問題:

テキスト列から複数の値を抽出するPandas のテキスト列を作成し、それを新しい列に正しく割り当てるのは難しいことがわかります。

解決策:

複数の値を返す関数を Pandas 列に効率的に適用するには、次を利用します。 zip()関数。このソリューションは、df.iterrows() による反復処理と比較してパフォーマンスを大幅に向上させます。

実装:

<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>

出力例:

num p1 p2 p3 p4 p5 p6
0 0 0 0 0 0 0
1 1 1 1 1 1 1
2 2 4 8 16 32 64
3 3 9 27 81 243 729
4 4 16 64 256 1024 4096
5 5 25 125 625 3125 15625
6 6 36 216 1296 7776 46656
7 7 49 343 2401 16807 117649
8 8 64 512 4096 32768 262144
9 9 81 729 6561 59049 531441

以上がPandas で単一のテキスト列から複数の新しい列を効率的に作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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