2017-07-14 10 views
1

私は2つのデータフレームを持っています。 1つはサイトの座標で、もう1つはサイト間の接続である。例えば :pandas pythonの他のデータフレームの値をデータフレームの値で上書きする

DF1:

SITE_ID  LAT  LON 
101  23.4244 31.5356 
102  45.0090 14.2424 
103  35.3444 19.4242 
104  42.0000 18.0002 

DF2

SITE_ID FIRST SECOND THIRD 
101  102 104  NaN 
102  103 NaN  NaN 
103  104 NaN  NaN 
104  NaN NaN  NaN 

今はDF1から座標DF2に(すべての列で)すべての値を変更したいです。 所望の出力:

SITE_ID    FIRST    SECOND  THIRD 
23.4244 31.5356 45.0090 14.2424 42.0000 18.0002 NaN 
45.0090 14.2424 35.3444 19.4242   NaN  NaN 
35.3444 19.4242 42.0000 18.0002   NaN  NaN 
42.0000 18.0002  NaN     NaN  NaN 

それは、このホワイトコンマまたはリストに入れるにはほとんど変化を持って大丈夫です。後で私はこれをjsonに変換し、javascript google maps apiで使用します。 正直言って、私はあまり考えていません。私はdictに変換しようとしました、またはマージ中に上書きしますが、本当に何もありません終わりまで働きます。ここで

答えて

3

df1からマッピングを作成し、一つの方法だとdf2

In [1120]: mapping = df1.set_index('SITE_ID').astype(str).apply(' '.join, axis=1).to_dict() 

In [1121]: mapping 
Out[1121]: 
{101: '23.4244 31.5356', 
102: '45.009 14.2424', 
103: '35.3444 19.4242', 
104: '42.0 18.0002'} 

In [1122]: df2.replace(mapping) 
Out[1122]: 
      SITE_ID   FIRST  SECOND THIRD 
0 23.4244 31.5356 45.009 14.2424 42.0 18.0002 NaN 
1 45.009 14.2424 35.3444 19.4242   NaN NaN 
2 35.3444 19.4242  42.0 18.0002   NaN NaN 
3  42.0 18.0002    NaN   NaN NaN 
+0

の値を置き換え、男をありがとう:) – jovicbg

関連する問題