別のデータフレームのデータに基づいて、Pandasデータフレームの列に値を割り当てます

レオナルドショー

濃度データと座標を含む2つのデータフレームがあります。

濃度データ(濃度):

    Sample  analParam                 Conc  Units
0   CW7-1   1,1,1-Trichloroethane     0     UG/L
1   CW7-1   1,1,2,2-Tetrachloroethane 0     UG/L
2   CW7-1   1,1,2-Trichloroethane     0     UG/L
3   CW7-1   1,1-Dichloroethane        0     UG/L
4   CW7-1   1,1-Dichloroethylene      0     UG/L
5   CW7-1   1,1-Dichloropropene       0     UG/L
6   CW7-1   1,2,3-Trichlorobenzene    0     UG/L
... ... ... ... ...
50311   VOA2-2  Tetrachloroethylene  1.8    MG/KG
50312   VOA2-2  Toluene              1.2    MG/KG
50313   VOA2-2  Trichloroethylene    1.8    MG/KG
50314   VOA2-2  Vinyl Chloride       1.8    MG/KG

座標データ(座標):

    Sample  x            y
0   CW7-1   320800.000  396500.000
1   CW7-2   320800.000  396500.000
2   CW7-3   320800.000  396500.000
3   FB06-17 0.000       0.000
4   FB06-18 0.000       0.000
5   FB06-19 0.000       0.000
6   FB07-08 0.000       0.000
... ... ... ...
453 TP21-1  318807.281  398547.485
454 TP21-2  318807.281  398547.485
455 TP24-1  318489.248  398544.797
456 VOA1-1  318500.582  398573.558
457 VOA1-2  318500.582  398573.558
458 VOA2-1  318536.337  398589.805
459 VOA2-2  318536.337  398589.805

各濃度のそれぞれのサンプルIDのすべての座標を含む2つの列を濃度データフレームに追加したいと思います。たとえば、濃度データの最初の6行には、すべてCW7-1のサンプルIDがあるため、x = 320800およびy = 396500の列があります。

    Sample  analParam                 Conc  Units   x       y
0   CW7-1   1,1,1-Trichloroethane     0     UG/L    320800  396500   
1   CW7-1   1,1,2,2-Tetrachloroethane 0     UG/L    320800  396500
2   CW7-1   1,1,2-Trichloroethane     0     UG/L    320800  396500  
3   CW7-1   1,1-Dichloroethane        0     UG/L    320800  396500  
4   CW7-1   1,1-Dichloroethylene      0     UG/L    320800  396500  
5   CW7-1   1,1-Dichloropropene       0     UG/L    320800  396500

double forループを使用してみましたが、データポイントが非常に多いため、時間がかかりすぎます。

for index, row in conc.iterrows():
    for cindex, crow in coord.iterrows():
        if conc.iloc[index,0] == coord.iloc[cindex,0]:
            conc.at[index,4] = coord.iloc[cindex,1]
            conc.at[index,5] = coord.iloc[cindex,2]

適用機能を使用してみましたが、エラーが発生し続けます。この演出のために、私は例外TypeErrorが得た:呼び出し()は1〜2位置引数からかかりますが、3が与えられました。

def xcoord (i):
    for index, row in coord.iterrows():
        if i == coord.iloc[index,0] :
            return coord.iloc(index,4)
conc['Sample'].apply(xcoord)
レオナルドショー

ありがとうウェン!

In[1]:
conc.merge(coord,on='Sample',how='left')

Out[1]:
Sample  analParam   Conc    Units   x   y
0   CW7-1   1,1,1-Trichloroethane   0   UG/L    320800.000  396500.000
1   CW7-1   1,1,2,2-Tetrachloroethane   0   UG/L    320800.000  396500.000
2   CW7-1   1,1,2-Trichloroethane   0   UG/L    320800.000  396500.000
3   CW7-1   1,1-Dichloroethane  0   UG/L    320800.000  396500.000
4   CW7-1   1,1-Dichloroethylene    0   UG/L    320800.000  396500.000
5   CW7-1   1,1-Dichloropropene 0   UG/L    320800.000  396500.000
6   CW7-1   1,2,3-Trichlorobenzene  0   UG/L    320800.000  396500.000
... ... ... ... ... ... ...
50311   VOA2-2  Tetrachloroethylene 1.8 MG/KG   318536.337  398589.805
50312   VOA2-2  Toluene 1.2 MG/KG   318536.337  398589.805
50313   VOA2-2  trans-1,3-Dichloropropene   1.8 MG/KG   318536.337  398589.805
50314   VOA2-2  Trichloroethylene   1.8 MG/KG   318536.337  398589.805
50315   VOA2-2  Vinyl Chloride  1.8 MG/KG   318536.337  398589.805
50316   VOA2-2  Xylenes (Total) 2.6 MG/KG   318536.337  398589.805

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

pandasデータフレームの条件に基づいて列に値を割り当てます

分類Dev

別の列値に基づいてデータフレーム内の列に値を割り当てる

分類Dev

別のデータフレームの値に基づいてデータフレームを更新します

分類Dev

条件に基づいて、あるデータフレームから別のデータフレームに値を割り当てます

分類Dev

サブジェクト番号に基づいて、あるデータフレームから別のデータフレームに値を割り当てます

分類Dev

条件に基づいてPandasデータフレームの値を繰り返し割り当てます

分類Dev

Pandasデータフレームを列の値に基づいて別々の部分に分割します

分類Dev

データフレーム内の特別なパターンの頻度に基づいて、新しい列の値を割り当てます

分類Dev

条件に基づいて、データフレーム列の値を別の列の値に変更します

分類Dev

PANDAS:別のデータフレームのブール値に基づいてパンダのデータフレーム要素で計算を行います

分類Dev

Pyspark:udfを使用して、別のデータフレームの値に基づいてデータフレームに新しい列を追加します

分類Dev

別のデータフレームの値に基づいて、データフレームを複数のデータフレームに分割する

分類Dev

他のデータフレームからの最近傍に基づいて値を割り当てます

分類Dev

他の列の値に基づいて、pandasデータフレームの列の値を設定します

分類Dev

Altair棒グラフは、データフレーム列に基づいて特定の色を割り当てます

分類Dev

Altair棒グラフは、データフレーム列に基づいて特定の色を割り当てます

分類Dev

rの別のデータフレームに基づいてテキストを列に割り当てる方法

分類Dev

既存のデータフレームの値に基づいて、別のデータフレームよりも大きい値をカウントします

分類Dev

既存のデータフレームの値に基づいて、別のデータフレームよりも少ない値をカウントします

分類Dev

パンダ:特定の列の文字列値に基づいて、データフレームを個別のデータフレームに分割します

分類Dev

パンダのデータフレームの別の列の値に基づいて列を追加します

分類Dev

別の行のイベントに基づいて、データフレームの行に値を割り当てる列を作成します

分類Dev

別のデータフレームの行の値に基づいて、1つのデータフレームの列を合計します

分類Dev

別の列のnull値に基づいてデータフレーム列の値をフィルタリングするpythonデータフレーム

分類Dev

別の列のnull値に基づいてデータフレーム列の値をフィルタリングするpythonデータフレーム

分類Dev

Rの別のデータフレームのメタデータ情報に基づいてデータフレーム列を結合します

分類Dev

共通の値のペアに基づいてデータフレーム列に別のデータフレームを入力します

分類Dev

pandas:別のデータフレームの列に基づいてデータフレームの列を選択します

分類Dev

パンダ:別のデータフレームの値に基づいて、データフレームに新しい列を追加します

Related 関連記事

  1. 1

    pandasデータフレームの条件に基づいて列に値を割り当てます

  2. 2

    別の列値に基づいてデータフレーム内の列に値を割り当てる

  3. 3

    別のデータフレームの値に基づいてデータフレームを更新します

  4. 4

    条件に基づいて、あるデータフレームから別のデータフレームに値を割り当てます

  5. 5

    サブジェクト番号に基づいて、あるデータフレームから別のデータフレームに値を割り当てます

  6. 6

    条件に基づいてPandasデータフレームの値を繰り返し割り当てます

  7. 7

    Pandasデータフレームを列の値に基づいて別々の部分に分割します

  8. 8

    データフレーム内の特別なパターンの頻度に基づいて、新しい列の値を割り当てます

  9. 9

    条件に基づいて、データフレーム列の値を別の列の値に変更します

  10. 10

    PANDAS:別のデータフレームのブール値に基づいてパンダのデータフレーム要素で計算を行います

  11. 11

    Pyspark:udfを使用して、別のデータフレームの値に基づいてデータフレームに新しい列を追加します

  12. 12

    別のデータフレームの値に基づいて、データフレームを複数のデータフレームに分割する

  13. 13

    他のデータフレームからの最近傍に基づいて値を割り当てます

  14. 14

    他の列の値に基づいて、pandasデータフレームの列の値を設定します

  15. 15

    Altair棒グラフは、データフレーム列に基づいて特定の色を割り当てます

  16. 16

    Altair棒グラフは、データフレーム列に基づいて特定の色を割り当てます

  17. 17

    rの別のデータフレームに基づいてテキストを列に割り当てる方法

  18. 18

    既存のデータフレームの値に基づいて、別のデータフレームよりも大きい値をカウントします

  19. 19

    既存のデータフレームの値に基づいて、別のデータフレームよりも少ない値をカウントします

  20. 20

    パンダ:特定の列の文字列値に基づいて、データフレームを個別のデータフレームに分割します

  21. 21

    パンダのデータフレームの別の列の値に基づいて列を追加します

  22. 22

    別の行のイベントに基づいて、データフレームの行に値を割り当てる列を作成します

  23. 23

    別のデータフレームの行の値に基づいて、1つのデータフレームの列を合計します

  24. 24

    別の列のnull値に基づいてデータフレーム列の値をフィルタリングするpythonデータフレーム

  25. 25

    別の列のnull値に基づいてデータフレーム列の値をフィルタリングするpythonデータフレーム

  26. 26

    Rの別のデータフレームのメタデータ情報に基づいてデータフレーム列を結合します

  27. 27

    共通の値のペアに基づいてデータフレーム列に別のデータフレームを入力します

  28. 28

    pandas:別のデータフレームの列に基づいてデータフレームの列を選択します

  29. 29

    パンダ:別のデータフレームの値に基づいて、データフレームに新しい列を追加します

ホットタグ

アーカイブ