Python 如何用另一个数组中的元素替换数组中的元素?
我试图用数组qn_red中的特定元素替换数组fre_索引中的特定元素。这是我的密码Python 如何用另一个数组中的元素替换数组中的元素?,python,arrays,Python,Arrays,我试图用数组qn_red中的特定元素替换数组fre_索引中的特定元素。这是我的密码 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',
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] = 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]
提供您期望的输出qn_red仅包含字符串,而fre_索引应仅包含整数。你希望fre_index[n]=qn_red[j]做什么?
fre_index
是一个numpy数组。不能在numpy数组的同一列中混合类型(在本例中为数字和字符串)。
fre_index_str[n] = qn_red[j]