ホームページ >バックエンド開発 >Python チュートリアル >単一の割り当てで複数の列を Pandas DataFrame に効率的に追加するにはどうすればよいですか?
単一の割り当てで Pandas DataFrames に複数の列を追加する
Pandas では、さまざまな方法で複数の列を同時に追加できます。 1 つのアプローチは、各列に個別に値を割り当てることですが、複数の列の場合、これは面倒になる可能性があります。より効率的な方法は、1 つのステップで列を追加することです。
一見すると、列リスト構文 (例: df[['new1', 'new2) を使用してリストまたは配列を複数の新しい列に割り当てます。 ]] = [スカラー, スカラー]) は直感的に思えるかもしれません。ただし、この割り当ては既存の列に対してのみ機能します。
新しい列を追加して 1 回の操作で値を割り当てるには、いくつかの方法を使用できます。
1.反復子のアンパック:
<code class="python">df['new1'], df['new2'], df['new3'] = np.nan, 'dogs', 3</code>
このアプローチでは、新しい列に値を繰り返し割り当てます。
2. DataFrame の拡張:
<code class="python">df[['new1', 'new2', 'new3']] = pd.DataFrame([[np.nan, 'dogs', 3]], index=df.index)</code>
このメソッドは、元の DataFrame のインデックスと一致する単一行を持つ DataFrame を作成し、Pandas の concat 関数を使用して新しい列を元の列にマージします。
3.一時的な DataFrame 結合:
<code class="python">df = pd.concat([df, pd.DataFrame([[np.nan, 'dogs', 3]], index=df.index, columns=['new1', 'new2', 'new3'])], axis=1)</code>
このアプローチでは、新しい列と値を使用して一時的な DataFrame を作成し、それを元の DataFrame に結合します。
4.辞書の割り当て:
<code class="python">df = df.join(pd.DataFrame({'new1': np.nan, 'new2': 'dogs', 'new3': 3}, index=df.index))</code>
このメソッドは、辞書を使用して一時的な DataFrame を作成し、元の DataFrame と結合します。
5. .assign() メソッド:
<code class="python">df = df.assign(new1=np.nan, new2='dogs', new3=3)</code>
.assign() メソッドを使用すると、一度に複数の列を割り当てることができます。
6.列の作成と値の割り当て:
<code class="python">new_cols = ['new1', 'new2', 'new3'] new_vals = [np.nan, 'dogs', 3] df = df.reindex(columns=df.columns.tolist() + new_cols) df[new_cols] = new_vals</code>
この手法では、空の列を作成し、値を個別に割り当てます。
複数の個別の割り当て:
<code class="python">df['new1'] = np.nan df['new2'] = 'dogs' df['new3'] = 3</code>
他の方法ほど効率的ではありませんが、個々の割り当ては簡単で、少数の新しい列に使用できます。
最適な選択は、特定の要件とパフォーマンスの考慮事項によって異なります。複数の列を同時に追加するには、DataFrame 拡張または一時的な DataFrame 結合アプローチが簡潔で効率的なソリューションを提供します。
以上が単一の割り当てで複数の列を Pandas DataFrame に効率的に追加するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。