0
私は以下を実行しようとしていますが、時間がかかります。 は、誰かがこの大規模データ処理スクリプトの簡略化
f = open('answer.csv','w')
f.write('Datetime,0: Vm,0: Va,1: Vm,1: Va,2: Vm,2: Va,3: Vm,3: Va,4: Vm,4: Va,5: Vm,5: Va,6: Vm,6: Va,7: Vm,7: Va,8: Vm,8: Va,9: Vm,9: Va,10: Vm,10: Va,11: Vm,11: Va,12: Vm,12: Va,13: Vm,13: Va\n')
# 'n' is around 8000000
# 'PQ_data' is a pandas DataFrame with more than n rows
# 'class' is a python class object with some functions in it
for i in range(n):
p = []
q = []
for j in range(1,14):
if j<=10:
p.append(PQ_data['{} P'.format(j)][i])
q.append(PQ_data['{} Q'.format(j)][i])
else:
p.append(0)
q.append(0)
class.do_something(p,q)
vm = class.get_Vm().tolist()
va = class.get_Va().tolist()
# above methods return 14 length lists.
# PQ_data.index has datetime values
f.write('{}'.format(PQ_data.index[i]))
for j in range(len(vm)):
f.write(',{},{}'.format(vm[j],va[j]))
f.write('\n')
f.close()
ありがとうございました! @ inspectorG4dgetこれは私のコードよりもうまくいくが、まだまだ時間がかかる。 は、関数do_something自体の時間が原因である可能性があります。 –
@ code_dragon:かなり可能性があります。 'do_something'の定義で新しい投稿を作成すると、 – inspectorG4dget
を最適化できるかもしれませんが、' do_something'は単純な@ inspectorG4dgetではありません。クラスはいくつかのAPIを使用して計算を行い、必要な出力を返します。 –