2

私はGISの経験が少しあり、現在パンダを学ぼうとしています。どんな助けでも大歓迎です。ここでの目標は、1 点を 1 人に結合することです。

マージと結合の両方を試しましたが、正しい出力が得られません。値が多すぎます。drop_duplicates と独自のメソッドを使用してマージ出力をマッサージしようとしましたが、今のところうまくいきません。マージのドキュメントを読みましたが、これを行う簡単な方法があると感じています...しかし、これまでのところ見つけられていません。

以下は、私のデータと目的の出力の例です。

助けてくれてありがとう!

セット 1

    XCORD        YCORD       DTRACT
    -74.630496   40.530064   34035053804
    -74.637525   40.557955   34035053804
    -74.628739   40.528239   34035053804
    -74.638959   40.533796   34035053804
    -74.638852   40.510520   34035053804
    -74.638853   40.510527   34035053810
    -74.638858   40.510514   34035053810

セット 2

     PLSAM           DTRACT
     30000560102     34035053804
     30000560103     34035053804
     30000560104     34035053804
     30000560105     34035053804
     30000560106     34035053804
     30000560107     34035053810
     30000560108     34035053810

望ましい出力

     XCORD       YCORD       DTRACT        PLSAM
    -74.630496   40.530064   34035053804   30000560102
    -74.637525   40.557955   34035053804   30000560103
    -74.628739   40.528239   34035053804   30000560104
    -74.638959   40.533796   34035053804   30000560105
    -74.638852   40.510520   34035053804   30000560106
    -74.638853   40.510527   34035053810   30000560107
    -74.638858   40.510514   34035053810   30000560108

余談ですが、私の仕事の背景は、各国勢調査ブロックで適切な数のランダムポイントを生成し、それらを旅行調査データに結合して、ドットビジュアライザーで視覚化できるようにすることです。

4

3 に答える 3

1

これはあなたが思っているよりもはるかに単純だと思います。あなたのケースでマージと結合が機能しない理由は、共通の列があっても値が一意ではないためです。両方のデータフレームのインデックスが同じですが、あなたの場合はそうではないようです。

最も簡単で簡単な方法は、列set2を次のset1ように単純に追加することです。

set1['PLSAM'] = set2['PLSAM']

これは、あなたのケースでは正しいと思われる2つのデータフレーム間で順序が一致していることを前提としています。または、もちろん両方を最初に並べ替えて、同じ順序にすることもできます。

于 2013-10-23T07:17:16.620 に答える