【问题标题】:how to get the following result如何得到以下结果
【发布时间】:2015-12-04 21:55:05
【问题描述】:

这些是索引:

Index= [2, 3, 4, 6]

这些是索引的频率,这两个数组通过位置相关,例如数组索引的第一个元素是 2,并且频率为 2,因为数组频率的位置 2 的元素是 2。

Frequency=[2, 2, 2, 2, 2, 1, 1]

我需要得到以下数组标签:

labels=[2, 2, 3, 3, 4, 4, 6]

为了得到它,我做了以下代码:

labels=[]

for index in Index:
    Counter=Frequency[index]
    for i in range(Counter):
        labels.append(index)

print(labels)

labels=[2, 2, 3, 3, 4, 4, 6]

还有其他形式可以优化这个过程吗?

【问题讨论】:

  • 按照您提出问题的方式,我们也不知道如何进行。
  • 可能你没有提供完整的信息 + 也向我们展示你到目前为止所做的尝试。
  • 根据您的问题和提供的数据: - 我无法发现您的两个“输入数组”(frequencyTrainIndex)和输出数组之间的关系。 - 请更正您的突出显示(frequency 未显示为代码)请发布您目前尝试的代码,并详细描述输入数据与输出数据之间的联系。

标签: python arrays


【解决方案1】:

假设频率列表与 TrainIndex 列表长度相同:

frecuency = [2,2,2,1]
TrainIndex = [9,4,5,8]
[g for sublist in [[i]*f for (i,f) in zip(TrainIndex,frecuency)] for g in sublist]

[9, 9, 4, 4, 5, 5, 8]

【讨论】:

  • 感谢支持我已经找到解决方案这是代码
猜你喜欢
  • 2022-01-13
  • 1970-01-01
  • 2017-03-04
  • 2015-09-26
  • 2021-09-03
  • 2012-01-11
  • 2013-10-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多