如何用另一个数组中的元素替换数组中的元素?

时间:2020-02-28 10:26:37

标签: python arrays

我正在尝试用数组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的字符串。

你能告诉我如何制作这样的数组吗?

1 个答案:

答案 0 :(得分:0)

由于评论,我已经意识到解决方案是创建一个新变量

fre_index_str = ['']*len(fre_index) 

然后做

fre_index_str[n] = qn_red[j]
相关问题