私はgeoJSONファイルを持っています。このファイルには、特定の地理的エリアのca. 7000細胞。 a)このgeoJSONを開くb)いくつかのデータを変更する(コードを参照)c)この変更されたgeoJSONをディスクに書き込む。今、私の問題は、多くの細胞があるので、これにはほぼ1分かかります。この機能の速度を向上させる方法はありますか?ありがとうございました!Python - 読み取り/変更/書き込み速度を上げますか?
def writeGeoJSON(param1, param2, inputdf):
with open('ingeo.geojson') as f:
data = json.load(f)
for feature in data['features']:
currentfeature = inputdf[(inputdf['SId']==feature['properties']['cellId']) & (inputdf['param1']==param1) & (inputdf['param2']==param2)]
if (len(currentfeature) > 0):
feature['properties'].update({"style": {"opacity": currentfeature.Opacity.item()}})
else:
feature['properties'].update({"style": {"opacity": 0}})
end = time.time()
with open('outgeo.geojson', 'w') as outfile:
json.dump(data, outfile)
は多分[(inputdf [ 'のparam1'] ==のparam1 inputdf '計算:
はCPythonのと仮定すると、より良い)、私はこれが良い(より良い許可よりも許し)を求めることを期待します)&(inputdf ['param2'] == param2)] 'のようになります。 –
最初に、[プロファイル](http://stackoverflow.com/a/582337/3005167)ボトルネックがI/Oにあるか処理中であるかを調べる機能。他の何もかもが暗闇の中でただ釣っているだけです。 – kazemakase
@Alex Excellent!私は私の答えに同じ点を述べました。私は質問が投稿された瞬間に気付いた...私は携帯電話からこの質問に答えるために9分を取った! xD – varun