1
私は緯度と経度の座標を含む既存のデータフレーム( "radar_locations")を持っています。この情報には、国と州の列を追加する必要があります。逆ジオコードを使用し、必要な2つの値を返す関数を作成しました。return geodata.state, geodata.country
アンパック関数がpandasデータフレーム列に戻る
データフレーム内の新しい列に値を割り当てようとすると解凍するには値が多すぎるというエラーが表示されます。しかし、関数が単一の値を返すようにコードを更新すると、その値を新しいデータフレーム列に正常に書き込むことができます。
パンダのちょっと偏心しているのか、それとももっと根本的なものがあるのでしょうか?
が
def reverse_geocode(lat, long):
...
return geodata.country
radar_locations['Country'] = radar_locations.apply(lambda x: reverse_geocode(x[1], x[0]), axis=1)
作品
def reverse_geocode(lat, long):
...
return geodata.state, geodata.country
state, country = reverse_geocode(mylat, mylong)
がを失敗した作品
def reverse_geocode(lat, long):
...
return geodata.state, geodata.country
radar_locations['State'], radar_locations['Country'] = radar_locations.apply(lambda x: reverse_geocode(x[1], x[0]), axis=1)
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-28-82e3c63a2ecb> in <module>()
19 raise
20
---> 21 radar_locations['State'], radar_locations['Country'] = radar_locations.apply(lambda x: reverse_geocode(x[1], x[0]), axis=1)
ValueError: too many values to unpack (expected 2)
これはトリックでした。多くのありがとう、@ルート。 – Barrett