インデックス付きの行を持つ 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 サイトの他の関連記事を参照してください。