python - 如何用另一个数组中的元素替换数组中的元素?
问题描述
我正在尝试用数组 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]
推荐阅读
- excel - 编写一个 Excel 宏来查找和赋值,复制该值并粘贴到单元格中
- synchronization - 使用 rsync/rclone 进行增量数据传输
- javascript - 动态更新 react-native highchart
- python - 如何重定向到不同的站点,并使用 Django 传递身份验证凭据
- javascript - jQuery/Javascript 帮助:无法使用自动完成功能动态添加字段
- ios - iOS App Clip - openSettingsURLString / "app-settings:"
- css - CSS 使用剪辑路径调整图像大小以适合父容器
- python - 具有掩蔽的深度卷积网络,正确的输入形状
- c# - 使用 .NET MongoDb 驱动程序进行双重查找和展开
- python - Pytorch Siamese NN 与 BERT 用于句子匹配