Pandas错误" *** ValueError:长度不匹配:预期的轴有0个元素,新值有......"

时间:2014-04-04 16:43:35

标签: python pandas

访问Pandas DataFrame df 中的数据时出错:

ipdb> df.loc[1988, 'ATTEND']
*** ValueError: Length mismatch: Expected axis has 0 elements, new values have 1481 elements

1988和' ATTEND'都在 df

ipdb> 1988 in df.index
True
ipdb> 'ATTEND' in df.columns
True

我不知道这个错误是什么。有什么想法吗?

提前致谢。

示例:

ipdb> df.iloc[21875:21880, 277:280]
      FUND  ATTEND  MAATTEND
1988     3       1         4
1988     2       3         0
1988     2       2         2
1988     2       2         7
1988     2       3         2

ipdb> df.loc[1988, 'ATTEND']
*** ValueError: Length mismatch: Expected axis has 0 elements, new values have 1481 elements


GSSFilename = 'GSS Dataset/GSS7212_R2_copy.sav'
data = srw.SavReader(pathToData + GSSFilename)
df = pd.DataFrame(data.all(), index=data[:,0],    columns=ALL_VARIABLE_NAMES)
with data: 
    data = np.array(data.all()) 

更新: 我认为这个问题是由两个不同的Python实例访问同一个.sav文件引起的。

2 个答案:

答案 0 :(得分:3)

我认为这个问题是由两个不同的Python实例访问同一个.sav文件引起的。

答案 1 :(得分:2)

在我的例子中,我用来填充 DataFrame 的查询返回 0 行,因为数据库表是空的。一旦表格被填充,错误就消失了。