Python 将numpy数组转换为张量
我刚刚开始学习使用tensorflow进行机器学习。我基本上是在尝试使用Iris数据集,我想做的是将numpy数组转换为张量。因此,我使用pandas.read_csv()读取我的数据集,然后将其转换为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
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
。看看这里的例子,好吧,我会尝试一下,只是为了澄清我的疑问,张量不能有多个数据类型的值,对吗?