Python 数据被读取为一维数据,但不是-“;ValueError:需要超过1个值才能解包";

Python 数据被读取为一维数据,但不是-“;ValueError:需要超过1个值才能解包";,python,numpy,pandas,scikit-learn,Python,Numpy,Pandas,Scikit Learn,我正在阅读以下数据: ------ 使用以下方法: import numpy as np import pandas as p print "loading data.." traindata = np.array(p.read_table('train.tsv'))[:,2] column_headings = np.array(p.read_table('train.tsv'))[:,-1] print "complete..." 当我尝试运行以下操作时: m,n = trainda

我正在阅读以下数据:

------

使用以下方法:

import numpy as np
import pandas as p
print "loading data.."
traindata = np.array(p.read_table('train.tsv'))[:,2]
column_headings = np.array(p.read_table('train.tsv'))[:,-1]

print "complete..."
当我尝试运行以下操作时:

m,n  = traindata.shape
我得到一个错误:

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-13-570e485a0a88> in <module>()
----> 1 m,n  = traindata.shape

ValueError: need more than 1 value to unpack
然而,通过调查我知道列标题打印不正确,并且由于某些原因,我只返回了一个维度。如何以这种方式获取每列的值

我做错了什么?我怎样才能达到预期的输出


非常感谢。

您使用
[:,2]
列车数据的数据转换为一维数组,这就是
列车数据.shape()
仅返回一个值的原因。这会导致您的错误

ValueError:需要超过1个值才能解包

因此,您可以省略该部分,并按如下方式调整代码以获得所需的输出:

import numpy as np
import pandas as p
print("loading data..")

traindata = np.array(p.read_table('train.tsv'))#[:,2]
column_headings = np.array(p.read_table('train.tsv', header=None))[0]

print("complete...")

m,n  = traindata.shape

print(m, n, column_headings)
输出:

6 27 ['url' 'urlid' 'boilerplate' 'alchemy_category' 'alchemy_category_score'
 'avglinksize' 'commonlinkratio_1' 'commonlinkratio_2' 'commonlinkratio_3'
 'commonlinkratio_4' 'compression_ratio' 'embed_ratio' 'framebased'
 'frameTagRatio' 'hasDomainLink' 'html_ratio' 'image_ratio' 'is_news'
 'lengthyLinkDomain' 'linkwordscore' 'news_front_page'
 'non_markup_alphanum_characters' 'numberOfLinks' 'numwords_in_url'
 'parametrizedLinkRatio' 'spelling_errors_ratio' 'label']

如果不想提取特定列,为什么要使用
[:,2]
?你一定要以某种方式对该列进行后处理吗?为什么要将列标题设置为最右边列中的数据?这就是它们所在的位置吗?我认为你的索引是反向的,至少在标题方面是这样。首先索引到行,然后索引到列。因此,您应该使用“column_headers=…[0]作为标题。
6 27 ['url' 'urlid' 'boilerplate' 'alchemy_category' 'alchemy_category_score'
 'avglinksize' 'commonlinkratio_1' 'commonlinkratio_2' 'commonlinkratio_3'
 'commonlinkratio_4' 'compression_ratio' 'embed_ratio' 'framebased'
 'frameTagRatio' 'hasDomainLink' 'html_ratio' 'image_ratio' 'is_news'
 'lengthyLinkDomain' 'linkwordscore' 'news_front_page'
 'non_markup_alphanum_characters' 'numberOfLinks' 'numwords_in_url'
 'parametrizedLinkRatio' 'spelling_errors_ratio' 'label']