簡體   English   中英

如何用另一個數組的元素替換一個數組的元素?

[英]How do you replace the elements of an array with elements from another array?

我試圖用數組 qn_red 中的特定元素替換數組 fre_index 中的特定元素。 這是我的代碼。

index = []
freq = [201001, 201002, 201003, 201004,201005, 201006, 201007, 201008, 201009, 201010, 
201011, 201012,201013, 201014, 201015, 201016]
freq_red = [201001.3, 201009.4, 201012.5]
qn_red = ['v', 'n', 'c']
for j in range(len(freq_red)):
    for i in range(len(freq)-1):
        if freq[i] <= freq_red[j] <= freq[i+1]:
            index.append(i)
fre_index = np.arange(len(freq))
for j in range(len(index)-1):
    for n, i in enumerate(fre_index):
        if i == index[j]:
            fre_index[n] = qn_red[j]

但是,我收到一個錯誤:

    fre_index[n] = qn_red[j]
ValueError: invalid literal for long() with base 10: 'v'

如果我寫

fre_index[n] = 34 

代替

fre_index[n] = qn_red[j]

代碼運行沒有錯誤。

感謝下面的評論,我現在知道這是因為我試圖在同一個數組中混合字符串和整數。

我想要的輸出是一個數組 fre_index,它與數組 freq 的長度相同,只有一些元素包含來自數組 qn_red 的字符串。

你能告訴我如何制作這樣的數組嗎?

感謝評論,我意識到解決方案是創建一個新變量

fre_index_str = ['']*len(fre_index) 

然后做

fre_index_str[n] = qn_red[j]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM