valueError无法将字符串转换为floatPython 2.7

时间:2013-11-10 18:36:14

标签: python numpy

我在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

我可以为数组的特定列分配字符串吗?

2 个答案:

答案 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]