私は非常に簡単なことをしたいと思いますが、Python/Spark(1.5)/ Dataframe(それはすべて私にとって新しいものです) 。Python Spark Dataframes:別の列の条件に基づいて列を更新する方法
元のデータセット:
code| ISO | country
1 | AFG | Afghanistan state
2 | BOL | Bolivia Plurinational State
新しいデータセット:(?擬似Pythonで)
code| ISO | country
1 | AFG | Afghanistan
2 | BOL | Bolivia
私はこのような何かをしたいと思います:
iso_to_country_dict = {'AFG': 'Afghanistan', 'BOL': 'Bolivia'}
def mapCountry(iso,country):
if(iso_to_country_dict[iso] is not empty):
return iso_to_country_dict[iso]
return country
dfg = df.select(mapCountry(df['ISO'],df['country']))
だけで簡単にするためにmapCountryは次のようになります。
def mapCountry(iso,country):
if(iso=='AFG'):
return 'Afghanistan'
return country
が、これでエラーがあります:ValueError: Cannot convert column into bool:
あなたが火花で列を更新することはできません。適切なロジックを使用して、常に1つのデータフレームを別のデータフレームに変換します。 –
はい、それは私がやっていることです。別のデータフレームdf→dfgを参照してください(私はもっと意味のある名前を付けるべきです)ごめんなさい – Babu
私は質問を「列を更新する方法」を参考にしていました –