私はこれをきれいに解決しようとしていますが、この作業では非常に失敗しています。複数の列に対応する値を返しますPandas
がポイントに海峡行く...私は2つのデータフレームがあります。
をdf1
anID siID daID
0 A 0 0
1 D 0 0
2 E 0 0
3 F 0 0
4 G A D
5 H E D
6 B 0 0
7 I E M
8 L F 0
9 M B H
10 N A D
df2
map_id renum_id
0 A 1
1 C 2
2 B 3
3 E 4
4 D 5
5 F 6
6 Q 7
7 V 8
8 H 9
9 G 10
10 N 11
基本的には、df1
は、識別コードとデータフレームであるdf2$renum_id
は、既存のものを置き換えるために、新しいコードを持っており、df2$map_id
はどのマップでありますdf1
の列の記録を誘導します。
今、私はdf1
(anID
、siID
、daID
)内のすべての3つの列のための(キーとしてmap_id
を使用して)対応renum_id
値を得るために、清潔で光/高速な方法が必要です。基本的には、各文字の対応するrenum_IDを私に与えて、0
(ゼロ)をdf1に0にしておきます。
だから、私はこのようなdf3
が必要になります。
anID siID daID anID/ siID/ daID/
0 A G 0 1 10 0
1 D E A 5 4 1
2 E 0 0 4 0 0
3 F B D 6 3 5
4 G A D 10 1 5
5 H E D 9 4 5
6 B 0 0 2 0 0
7 N A D 11 1 5
それはおそらく本当に簡単なものだが、私はpd.merge
にしようとしてきたと私の問題を解決するために何かを思い付くことができませんでした。
データフレームには何十万行ものデータがあります。そのため、私はそれを解決するための「軽い」方法の必要性を主張しています。
ありがとうございます。
Awsomeさん:列によって
df1
に最終concat
新しいDataFrame
df3
!それは私が必要としたものです! – BrnCPrzうれしいことができますよ!がんばろう! – jezrael