ホームページ >バックエンド開発 >Python チュートリアル >新しい列を Pandas DataFrame に効率的に追加するにはどうすればよいですか?

新しい列を Pandas DataFrame に効率的に追加するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-14 03:23:10529ブラウズ

How to Efficiently Add a New Column to a Pandas DataFrame?

既存の DataFrame に新しい列を追加する方法

問題ステートメント

インデックス付きの行を持つ DataFrame が与えられた場合、追加の列を組み込む必要がある既存のデータを変更することなく。たとえば、DataFrame があるとします:

      a         b         c         d

2 0.671399 0.101208 -0.181532 0.241273
3 0.446172 -0.243316 0.051767 1.577318
5 0.614758 0.075793 -0.451460 -0.012493

次の内容で 'e' という名前の列を追加します。値:

<br>0 -0.335485<br>1 -1.166658<br>2 -0.385571<br>dtype: float64<br>

ソリューション

Edit 2017

@Alexander によって提案され、コメントには、assign を使用します。メソッド:

df1 = df1.assign(e=pd.Series(np.random.randn(sLength)).values)

Edit 2015

一部のユーザーは、元のコードで SettingWithCopyWarning が発生したと報告しました。ただし、コードは現在の pandas バージョン 0.16.1 でも引き続き機能します。

sLength = len(df1['a'])

df1['e'] = pd.Series(np.random.randn(sLength), index=df1.index)

元の回答

df1 の元のインデックスを使用してシリーズを作成し、割り当てますそれを新しい列に追加します:

df1['e'] = pd.Series(np.random.randn(sLength), index=df1.index)

以上が新しい列を Pandas DataFrame に効率的に追加するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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