ホームページ > バックエンド開発 > Python チュートリアル > Python で Pandas DataFrame に新しい列を効率的に追加する方法

Python で Pandas DataFrame に新しい列を効率的に追加する方法

DDD
リリース: 2024-12-22 11:32:09
オリジナル
365 人が閲覧しました

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

既存の DataFrame への新しい列の追加

データ操作タスクでは、多くの場合、追加の列で既存の DataFrame を拡張する必要があります。ここでは、Pandas を使用して Python でこれを実現する方法について説明します。

問題ステートメント

インデックス付きの列と行に不連続な数値が含まれる次の 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
ログイン後にコピー

私たちの目標は、この DataFrame に新しい列 'e' を追加することです。既存のデータを変更する。新しい列は DataFrame と同じ長さである必要があります。

解決策

方法 1 (割り当て):

一連の値を新しい列としてデータフレームに追加する最も効率的な方法は、 assign 関数:

df1 = df1.assign(e=pd.Series(np.random.randn(sLength)).values)
ログイン後にコピー

ここで:

  • df1 は元の DataFrame です
  • sLength は元の DataFrame の長さです
  • np.random.randn(sLength) はランダムなシリーズを生成します値

方法 2 (loc):

もう 1 つの方法は、loc アクセサーを使用して新しい値を設定することです。列:

df1.loc[:,'f'] = pd.Series(np.random.randn(sLength), index=df1.index)
ログイン後にコピー

ここで:

  • df1 は元の DataFrame です
  • 'f' は新しい列の名前です
  • pd .Series(np.random.randn(sLength)) はランダムなシリーズを生成します。 value
  • df1.index は、元の DataFrame と一致するように新しい列のインデックスを設定します

どちらのメソッドも、既存のデータを保持しながら、目的の新しい列 'e' を DataFrame に効果的に追加します。 .

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート