我在python 2.7.5上有这段代码:
#!/usr/bin/env python2
#Ejercicio 24
from numpy import *
from string import *
def main():
i=0
j=0
k=0
filas=5
temp=''
columnas=3
nombres=['Julio' , 'Andres', 'Cesar', 'Maria', 'Isabel']
print nombres
tabla= arange(15)
tabla=tabla.reshape(filas,columnas)
print tabla
for j in range(columnas):
for i in range(filas):
if j==0:
temp=nombres[i]
#print temp
tabla[j,i]=int(float32(temp))
print tabla[j,i]
return 0
if __name__ == '__main__':
main()
我有一个包含字符串(名称)的列表,但我想为这个名为tabla.But的数组的第一列设置这些名称,我在编译器中遇到这个错误:
['Julio', 'Andres', 'Cesar', 'Maria', 'Isabel']
[[ 0 1 2]
[ 3 4 5]
[ 6 7 8]
[ 9 10 11]
[12 13 14]]
Julio
Traceback (most recent call last):
File "ejercicio24.py", line 34, in <module>
main()
File "ejercicio24.py", line 25, in main
tabla[j,i]=int(float32(temp))
ValueError: could not convert string to float: Julio
我可以为数组的特定列分配字符串吗?
答案 0 :(得分:1)
NumPy的重点是有效地处理一种通常是数字的数据类型的数组。如果数组的行具有名称,则可以在单独的数组或常规Python列表中跟踪它们。
答案 1 :(得分:0)
但您如何看待&#39; Julio&#39;可以转换为float32吗? 您只需输入:
即可if j==0:
temp=nombres[i]
#print temp
tabla[j,i]=temp
print tabla[j,i]