解决pandas报错'DataFrame' object has no attribute 'as_matrix'问题
作者:qiuqiu1027
这篇文章主要介绍了解决pandas报错'DataFrame' object has no attribute 'as_matrix'问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
解决pandas报错'DataFrame' object has no attribute 'as_matrix'
data = data.as_matrix(columns = None)
运行时报错==‘DataFrame’ object has no attribute ‘as_matrix’==先看pandas版本
pd.__version__
‘1.0.3’去pandas官网看该版本的方法说明:
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.values.html
将上述代码改为
data = data.values
pandas一些报错的处理
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列。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。