這裏是輸入:使用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])]
我知道,每個元素的循環也應該工作,但我不知道是否有快速的方法來完成呢?提前致謝。
這裏是我的代碼三種方法,在速度上沒有大的區別,但第二&第三是更加簡潔。 :
第一方法: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))
第二方法: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))
第三方法: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