0
とJSONからのデータフレームの更新:パンダアップデートがなければパイソン/パンダ - 私はこのような私のdataframに新しい列を追加しようとしている条件
df_precip_avail_rain_hourly['coordE'] = [
item for item in data["features"]
if item["properties"]["cellId"] == df_precip_avail_rain_hourly.SId
][0]["geometry"]["coordinates"][0][0][0]
、これはフロートが得られます。
[item for item in data["features"]
if item["properties"]["cellId"] == 38][0]["geometry"]["coordinates"][0][0][0]
#returns 10.914622377957983
私はそれで私のDFを更新したい場合は
しかし、私は次のエラーを取得する:
ValueError Traceback (most recent call last)
<ipython-input-154-bbdf5e48ffd5> in <module>()
----> 1 df_precip_avail_rain_hourly['coordE'] = [item for item in data["features"] if (item["properties"]["cellId"] == df_precip_avail_rain_hourly.SId).bool()][0]["geometry"]["coordinates"][0][0][0]
<ipython-input-154-bbdf5e48ffd5> in <listcomp>(.0)
----> 1 df_precip_avail_rain_hourly['coordE'] = [item for item in data["features"] if (item["properties"]["cellId"] == df_precip_avail_rain_hourly.SId).bool()][0]["geometry"]["coordinates"][0][0][0]
/usr/local/lib/python3.5/dist-packages/pandas/core/generic.py in bool(self)
908 "{0}".format(self.__class__.__name__))
909
--> 910 self.__nonzero__()
911
912 def __abs__(self):
/usr/local/lib/python3.5/dist-packages/pandas/core/generic.py in __nonzero__(self)
890 raise ValueError("The truth value of a {0} is ambiguous. "
891 "Use a.empty, a.bool(), a.item(), a.any() or a.all()."
--> 892 .format(self.__class__.__name__))
893
894 __bool__ = __nonzero__
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
私は.bool()
リットルを使用しようとしましたike:
df_precip_avail_rain_hourly['coordE'] = [
item for item in data["features"]
if (item["properties"]["cellId"] == df_precip_avail_rain_hourly.SId).bool()
][0]["geometry"]["coordinates"][0][0][0]
同じエラーが表示されます。これを解決するには何ができますか?ありがとうございました!
index SId
1 38
2 38
3 46
そしてdata
のような要素を持つJSONです::
EDIT df_precip_avail_rain_hourly
は、データのように持って、私がしたいのです。このことから
{'geometry': {'coordinates': [[[10.914622377957983, 45.682007076150505],
[10.927456267537572, 45.68179119797432],
[10.927147329501077, 45.672795442796335],
[10.914315493899755, 45.67301125363092],
[10.914622377957983, 45.682007076150505]]],
'type': 'Polygon'},
'id': 0,
'properties': {'cellId': 38},
'type': 'Feature'}
index SId coordE
1 38 10.914622377957983
2 38 10.914622377957983
3 46 11.995422377959684
など
まあ 'df_precip_avail_rain_hourly'は' SId'という名前の列があります。現在の行の 'SId'が' item ["properties"] ["cellId"] 'と一致するとき、適切なセルの座標はその行の値になるようにデータフレームを更新したいと思います。 –
は 'data'は入れ子にされた辞書かデータフレームか全く他のものですか? – James
「データフレームをJSONから条件に更新する」というタイトルで述べたように、JSONです。私は明確にするために質問を更新しました。 –