データフレーム検索を高速化し、値を割り当てる方法は?

ジョン

たとえば、2つのデータフレームがあります

df1:

        0        1           2           3 
0      Name     Unit      Attribute     Date
1      a        A           xxy         xxx
2      b        B           xyx         xxx
3      c        C           xxx         xxx
4      d        D           yxx         xxx
5      e        E           yxy         yyy

df2:

        0        1        2       
      Name     Unit      Date
0      a        F        xxx
1      b        G        xxx
2      e        H        xxx
3      f        I        xxx

df1のエントリをdf2の対応するエントリで上書きしたいと思います。

たとえば、df1.loc [5,3]をdf2.loc [2,2]で上書きします。つまり、同じ「名前」を持つ行の場合、df1がdf2にある場合は、df1の同じ列を上書きします。

現在、私はこれを愚かな方法で行っています:

def find_column_num(key, df_name, start_row, stop_row, start_column, stop_column):
    for i in range(start_row,stop_row+1):
        for j in range(start_column, stop_column+1):
            if df_name.loc[i,j]== key:
                column_num_with_key = j
                return column_num_with_key
                break 

for i in range(0,len(df1.index)):
    for ii in range(0,len(df2.index)):
       if df1.loc[i,0] == df2.loc[ii,0]:
          for j in range(0,len(df1.columns)):
              if df1.loc[0,j] in df2.loc[0,:]:
                   df1.set_value(i,j, df2.loc[ii,find_column_num(df1.loc[0,j],df2,0,0,0,len(df2.columns))]

私はそれを誇りに思っていません。私は少し調べて、「=」をset_value()に置き換えることを思いつきました。これは役に立ちます。他の提案をお待ちしております。実際の問題のサイズは200行30列です。したがって、すべてのforループを実行するには20秒かかります。

cs95

IIUC、使用mergeおよびfillnaデータを少しクリーンアップする必要があります。これが私が参考のために使ったものです。

 df1

  Name Unit Attribute Date
0    a    A       xxy  xxx
1    b    B       xyx  xxx
2    d    C       xxx  xxx
3    e    D       yxx  xxx
4    e    E       yxy  xxx

df2

  Name Unit Date
0    a    F  xxx
1    b    G  xxx
2    e    H  xxx
3    f    H  xxx

out = df1[['Name', 'Attribute']].merge(df2, how='left').fillna(df1)
out

  Name Attribute Unit Date
0    a       xxy    F  xxx
1    b       xyx    G  xxx
2    d       xxx    C  xxx
3    e       yxx    H  xxx
4    e       yxy    H  xxx

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

パンダのデータフレーム検索を高速化する方法を探しています

分類Dev

ループを高速化して、複数のデータフレームから値を割り当てます

分類Dev

コードを高速化する方法-データフレームの検索には数時間かかります

分類Dev

「ユニークな」データフレーム検索を高速化する方法

分類Dev

パンダのデータフレームでの検索を高速化

分類Dev

パンダのデータフレームは、異なるデータフレームの値を検索し、値を割り当てます

分類Dev

Python 3を使用して、現在の方法を使用してデータフレームの更新を高速化するにはどうすればよいですか?

分類Dev

Pandas データフレーム: 一意の値を検索して別のデータフレームに割り当てる

分類Dev

.txtファイルを使用して形成されたPythonデータフレームでの検索/フィルタリングを高速化するにはどうすればよいですか?

分類Dev

大きなパンダのデータフレームで最も近い上限値と下限値の検索を高速化

分類Dev

小さいデータ.フレームのサブセット化を高速化する方法はありますか

分類Dev

データフレームをNULLとして割り当てる方法は?

分類Dev

データフレームループを高速化

分類Dev

データフレームのループを高速化

分類Dev

他のデータフレームから値を検索し、元のデータフレームに割り当てます

分類Dev

pandasデータフレームの複数の存在しない列に値を割り当てる方法は?

分類Dev

パンダを使用してデータフレームをサブセット化するより高速な方法

分類Dev

Pandasデータフレームで値を検索する方法

分類Dev

パンダ間隔を使用して値を検索し、別のデータフレームを埋める方法

分類Dev

rを使用してデータフレームの上位値を検索する

分類Dev

パンダ-データフレームインデックスを使用して値を検索する方法

分類Dev

Debounce Lodash ReactNativeを使用して検索を高速化する方法

分類Dev

numpy配列/データフレームの反復プロセスを高速化する方法

分類Dev

データフレームの列の数値に従ってカテゴリ値を割り当てる方法は?

分類Dev

あるデータフレームを使用して別のデータフレームの値とインデックスを検索する方法

分類Dev

行番号のリストを使用してデータフレーム列の値を検索する方法

分類Dev

データフレームの列名に系列の値を割り当てる方法

分類Dev

pandaspythonで異なるデータフレームから特定の値を検索して照合する方法

分類Dev

データフレーム内の行を検索しながら行名を割り当てます

Related 関連記事

  1. 1

    パンダのデータフレーム検索を高速化する方法を探しています

  2. 2

    ループを高速化して、複数のデータフレームから値を割り当てます

  3. 3

    コードを高速化する方法-データフレームの検索には数時間かかります

  4. 4

    「ユニークな」データフレーム検索を高速化する方法

  5. 5

    パンダのデータフレームでの検索を高速化

  6. 6

    パンダのデータフレームは、異なるデータフレームの値を検索し、値を割り当てます

  7. 7

    Python 3を使用して、現在の方法を使用してデータフレームの更新を高速化するにはどうすればよいですか?

  8. 8

    Pandas データフレーム: 一意の値を検索して別のデータフレームに割り当てる

  9. 9

    .txtファイルを使用して形成されたPythonデータフレームでの検索/フィルタリングを高速化するにはどうすればよいですか?

  10. 10

    大きなパンダのデータフレームで最も近い上限値と下限値の検索を高速化

  11. 11

    小さいデータ.フレームのサブセット化を高速化する方法はありますか

  12. 12

    データフレームをNULLとして割り当てる方法は?

  13. 13

    データフレームループを高速化

  14. 14

    データフレームのループを高速化

  15. 15

    他のデータフレームから値を検索し、元のデータフレームに割り当てます

  16. 16

    pandasデータフレームの複数の存在しない列に値を割り当てる方法は?

  17. 17

    パンダを使用してデータフレームをサブセット化するより高速な方法

  18. 18

    Pandasデータフレームで値を検索する方法

  19. 19

    パンダ間隔を使用して値を検索し、別のデータフレームを埋める方法

  20. 20

    rを使用してデータフレームの上位値を検索する

  21. 21

    パンダ-データフレームインデックスを使用して値を検索する方法

  22. 22

    Debounce Lodash ReactNativeを使用して検索を高速化する方法

  23. 23

    numpy配列/データフレームの反復プロセスを高速化する方法

  24. 24

    データフレームの列の数値に従ってカテゴリ値を割り当てる方法は?

  25. 25

    あるデータフレームを使用して別のデータフレームの値とインデックスを検索する方法

  26. 26

    行番号のリストを使用してデータフレーム列の値を検索する方法

  27. 27

    データフレームの列名に系列の値を割り当てる方法

  28. 28

    pandaspythonで異なるデータフレームから特定の値を検索して照合する方法

  29. 29

    データフレーム内の行を検索しながら行名を割り当てます

ホットタグ

アーカイブ