Python 带字符串的np.where和list问题
我有3个列表,其中一个是:Python 带字符串的np.where和list问题,python,string,list,numpy,if-statement,Python,String,List,Numpy,If Statement,我有3个列表,其中一个是: x_axis = ["01-01", "01-02", "01-03"] x_轴列表的长度为377 我还有一份清单: y_axis = ["01-01","01-03","01-05"] 等。y_列表的长度为167 第三个列表对应于具有特定编号的列表x_轴,其中: hour24 = ["50","0",&
x_axis = ["01-01", "01-02", "01-03"]
x_轴列表的长度为377
我还有一份清单:
y_axis = ["01-01","01-03","01-05"]
等。y_列表的长度为167
第三个列表对应于具有特定编号的列表x_轴,其中:
hour24 = ["50","0","99"]
等。24小时的长度与x_轴相同,x_轴上的日期与24小时的数字相对应
我想做的是从hour24列表中提取数字,它与y_轴上的日期相对应。这意味着并不是所有的日期都包括在内。我想要一个新的_hour24列表,其中包含与y轴中的日期相同的特定数字。这里的问题是x轴列表包括所有日期,而y轴列表只包括一些选定的日期
我想做的是:
我尝试用零扩展y_轴列表,以包含与x_轴相同的长度:
for i in range(210):
y_axis.append("0")
有了相同的长度后,我尝试使用if/else和np.where numpy作为:
new_hour24 = []
for i in range(0, len(x_axis)):
if(np.where((x_axis[i]==y_axis[i]))):
new_hour24.append(hour24[i])
else:
continue
然而,由于某些原因,这不起作用,我的新列表new_hour24包含所有原始值,就像它跳过了np.where事实一样,只是附加了所有值
有人知道我该怎么解决这个问题吗
编辑
预期输出是长度为167的新的_hour24列表。列表new_hour24中的数字与y_列表中的日期相对应。您可以使用
输出:
['50' '99']
你可以用
输出:
['50' '99']
你能发布预期的输出吗?我在最后加了一句话。不知道如何解释它。这是您发布的示例的输出吗?
['50','99']
?是的,这些应该是前两个输出。您可以发布预期的输出吗?我在最后添加了一句额外的话。不知道如何以其他方式解释这是您发布的示例的输出吗['50','99']
?是的,这些应该是前两个输出。我尝试了,然后收到:TypeError:只有整数标量数组可以转换为标量索引。我忘了提到x_列表不仅仅是数字,列表中的一些地方还写着“MM.DD”。而y_列表只是数字。我不知道这是否是问题所在将hour24
转换为numpy数组hour24=np.array(hour24)
它会工作得很好,@newtoprogramming。如果上述答案有帮助,请接受它:如果社区的其他成员知道这是解决你问题的方法,这将是有帮助的。我还向帮助过你的成员表示“感谢你的帮助”(有关详细信息,请访问)。我尝试了这一点,然后收到:TypeError:只有整数标量数组才能转换为标量索引。我忘了提到x_列表不仅仅是数字,列表中的一些地方还写着“MM.DD”。而y_列表只是数字。我不知道这是否是问题所在将hour24
转换为numpy数组hour24=np.array(hour24)
它会工作得很好,@newtoprogramming。如果上述答案有帮助,请接受它:如果社区的其他成员知道这是解决你问题的方法,这将是有帮助的。我还代表“感谢您的帮助”向帮助您的会员致意(更多信息,请访问)。