2016-12-18 21 views
2

私はパンダを使って航空路に関するデータを分析しようとしています。先の国を表し、ソース空港と「DA国」の国を表し、「SA国」:今、私はデータフレームroutesに2つの以上の列を追加したい他のデータフレームの列に基づいてpandasデータフレームの列に値を割り当てる方法は?

print(airports.head()) 

      IATA/FAA   Country 
Airport ID       
1    GKA Papua New Guinea 
2    MAG Papua New Guinea 
3    HGU Papua New Guinea 
4    LAE Papua New Guinea 
5    POM Papua New Guinea 

print(routes.head()) 

     Source airport Destination airport 
Airline         
2B     AER     KZN 
2B     ASF     KZN 
2B     ASF     MRV 
2B     CEK     KZN 
2B     CEK     OVB 

:だから私は2つのデータフレームを持っています空港。与えられたIATA/FAAの場合、国は何とかデータフレームairportsから抽出することができます。しかし、私はそれを「何とか」理解することはできません。何か案は?いくつかの値がNaNを得る一致しない場合は、辞書による

答えて

2

使用mapは、to_dictset_indexによってairportsから作成されます。

d = airports.set_index('IATA/FAA')['Country'].to_dict() 
#works by map by Series but a bit slowier 
#d = airports.set_index('IATA/FAA')['Country'] 
routes['SA country'] = routes['Source airport'].map(d) 
routes['DA country'] = routes['Destination airport'].map(d) 
関連する問題