が入力された:pythonとnumpyを使って、1dリストをnp.arrayのリストに変換する方法は?ここで
input_list=[a,b,c,d]
私は、各要素のループでも動作するはずですが、私はそこにこれを完了するための簡単な方法であるかどうかを疑問に思うことを知っている出力
output_list=[np.array([a]),np.array([b]),np.array([c]),np.array([d])]
を得ることを期待しますか?前もって感謝します。
はここ3つの方式のため、スピードには大きな違いはありません私のコードですが、第二&第三は非常に滑らかな印象です。 :
1方法:t.append(np.array([i]))
、cost_time = 14.1404731274 seconds
import time
start_time = time.time()
for index, row in modified_test_store_raw_df[modified_test_store_raw_df.Open==1].iterrows():
input_value=(list(modified_test_store_raw_df.loc[index,'tuple_map']))
t=[]
for i in input_value:
t.append(np.array([i]))
print("--- %s seconds ---" % (time.time() - start_time))
2方法:t=[np.array([x]) for x in input_value]
、cost_time = 13.7779290676 seconds
import time
start_time = time.time()
for index, row in modified_test_store_raw_df[modified_test_store_raw_df.Open==1].iterrows():
input_value=(list(modified_test_store_raw_df.loc[index,'tuple_map']))
t=[np.array([x]) for x in input_value]
print("--- %s seconds ---" % (time.time() - start_time))
3方法:t=np.array(input_value)[:, None]
、cost_time = 13.2799420357 seconds
import time
start_time = time.time()
for index, row in modified_test_store_raw_df[modified_test_store_raw_df.Open==1].iterrows():
input_value=(list(modified_test_store_raw_df.loc[index,'tuple_map']))
t=np.array(input_value)[:, None]
print("--- %s seconds ---" % (time.time() - start_time))
誰もが当然のリストループでリストの内包を、示唆しています。それは基本的にそれです。あなたの目標がリストである限り、それはすぐに得られます。 'numpy'関数はある種の配列を生成します。 – hpaulj