Numpy Column Stack with Strings?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Numpy Column Stack with Strings?相关的知识,希望对你有一定的参考价值。
我正在使用numpy.column_stack
并遇到问题
Input = input('Input: ')
Words = ['First','Second','Third','Fourth','Fifth','Sixth','Seventh','Eigth','Ninth']
Numbers = [0.5,1,1.25,1.5,2,3,5,10,15]
Stack = np.column_stack((Words, Numbers))
我希望实现的目标是:
输入:第二 输出:1
输入:第九 产量:15
后来我希望有一个可编辑的辅助文件来定义单词和数字列表。我不知道Column Stack是否是最好的方法,但它是我能想到的最接近的东西?
答案
根据您的编辑,您想要的是使用字典:
Words = ['First','Second','Third','Fourth','Fifth','Sixth','Seventh','Eigth','Ninth']
Numbers = [0.5,1,1.25,1.5,2,3,5,10,15]
Stack = {word:number for (word, number) in zip(Words, Numbers)}
Input = input('Input: ')
try:
print(Stack[Input])
except KeyError:
print('Input: {} does not exist'.format(Input))
在这个例子中,Stack
被创建为使用zip
的字典理解的字典。然后,您可以使用用户的Input
作为字典的键。如果该键在字典中,则将打印相应的值,否则将打印一条消息,指示该键不在字典中
另一答案
您可以使用简单的列表操作将单词与数字配对:
In [283]: Numbers
Out[283]: [0.5, 1, 1.25, 1.5, 2, 3, 5, 10, 15]
In [284]: Numbers[Words.index('Fifth')]
Out[284]: 2
In [285]: Numbers[Words.index('Second')]
Out[285]: 1
In [286]: Numbers[Words.index('Ninth')]
Out[286]: 15
以上是关于Numpy Column Stack with Strings?的主要内容,如果未能解决你的问题,请参考以下文章
python numpy.row_stack?想知道怎么修改
python 小数相加报错 invalid literal for int() with base 10