Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将numpy数组转换为张量_Python_Numpy_Tensorflow - Fatal编程技术网

Python 将numpy数组转换为张量

Python 将numpy数组转换为张量,python,numpy,tensorflow,Python,Numpy,Tensorflow,我刚刚开始学习使用tensorflow进行机器学习。我基本上是在尝试使用Iris数据集,我想做的是将numpy数组转换为张量。因此,我使用pandas.read_csv()读取我的数据集,然后将其转换为numpy数组,然后我想将其转换为张量。但出于某种原因,我这样做时出错 Following is the code : import tensorflow as tf import numpy as np import pandas as pd from sklearn.utils import

我刚刚开始学习使用tensorflow进行机器学习。我基本上是在尝试使用Iris数据集,我想做的是将numpy数组转换为张量。因此,我使用pandas.read_csv()读取我的数据集,然后将其转换为numpy数组,然后我想将其转换为张量。但出于某种原因,我这样做时出错

Following is the code :

import tensorflow as tf
import numpy as np
import pandas as pd
from sklearn.utils import shuffle

data =pd.read_csv('###filepath####')
data=shuffle(data)
print type(data)
print data.values
data=np.asarray(data)
print type(data)
data_tf1 = tf.convert_to_tensor(data)

The error displayed is as follows:
TypeError: Expected binary or unicode string, got 5.6
现在,数据集由5行组成,其中4行是float类型,一行是字符串。数据集确实被转换为numpy数组,我也能够检索值,但将其转换为张量才是问题所在

我想知道的是: 由具有不同数据类型的值组成的numpy数组能否转换为张量


注:我知道可能有其他方法可以解决这个问题,我正在尽我最大的努力把它们都弄清楚,我只是想知道我的查询是否有效,或者是否没有办法完成

据我所知,张量中的所有值都应该是相同的类型,例如
tf.float32
tf.float64
,然后使用参数
dtype
指定类型。为什么在张量中需要不同的数据类型呢?那么,如果我有一个数据集,它由数字数据和字符串数据组成,我想同时使用它们,是不是没有办法做到这一点?我只是有点困惑是的,你把字符串数据转换成数字格式。因为您正在谈论iris数据集,所以可以将
setosa
分配到0.0,
versicolor
分配到1.0,
virginica
分配到2.0。在机器学习中处理分类特征/标签时,这是非常标准的。在Python中,有几种方法可以将分类数据转换为数字数据,例如
LabelEncoder
。看看这里的例子,好吧,我会尝试一下,只是为了澄清我的疑问,张量不能有多个数据类型的值,对吗?