1.cant convert the string to 'float[1,0]'
有的时候,我们有把【1,0】数组存进pandas里的需求,合理!
但是我们可能遇到这种情况。比如分类问题,比如mnist手写体识别。
x=tf.placeholder(tf.float32,[None,INPUT_NODE])
y_=tf.placeholder(tf.float32,[None,OUTPUT_NODE])
我们希望输入的是float类型,但是一旦我们把【1,0】以类似这样的形式存入:
df2.fakelab1.loc[i]=[1,0]
最后,就会出错:cant convert the string to 'float[1,0]'
一查dataframe里的属性,发现对应的fakelab1的属性是object,不是float或者int。
解决方案:
有多少数据,就存进几列里。
df2= pd.DataFrame(columns=['fakelab1','fakelab2']) #新建具有列名的空的dataframe
df2.fakelab1.loc[i]=1;
df2.fakelab2.loc[i]=0;
效果如下:

用print(dt.info())查看数据格式信息,发现已经不是object格式了
![]()
然后调用:
dataOutTr=pd.read_csv('./1.csv',usecols=[i for i in range(36,38)]) #fakelab1,fakelab2分别在36,37列。
本文探讨在使用Pandas处理数据时,如何避免将数组【1,0】作为字符串处理的问题,特别是在机器学习分类任务中,如MNIST手写体识别。文章提供了一种有效的方法来正确存储和读取数组数据,确保其被识别为数值而非对象类型。
2万+

被折叠的 条评论
为什么被折叠?



