Python 熊猫错误“***ValueError:长度不匹配:预期轴有0个元素,新值有…“;
访问数据帧df中的数据时出错: 1988和“出席”都在df中: 我不知道这个错误是怎么回事。有什么想法吗 提前谢谢 例如:Python 熊猫错误“***ValueError:长度不匹配:预期轴有0个元素,新值有…“;,python,pandas,Python,Pandas,访问数据帧df中的数据时出错: 1988和“出席”都在df中: 我不知道这个错误是怎么回事。有什么想法吗 提前谢谢 例如: 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
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文件引起的。我认为这个问题是由两个不同的Python实例访问相同的.sav文件引起的。在我的例子中,我用来填充数据框的查询返回0行,因为数据库表是空的。填充表后,错误就消失了。什么版本的pandas/numpy?请发布frame和df.dtypes的示例,df.info()你能找到索引和列的位置并提取一个小的子帧吗?使用iloc也会失败?@Jeff,所有数据类型都是float64。Numpy是1.7.1,熊猫是0.13。1@AndyHayden,例如:ipdb>df.iloc[21875:21880277:280]基金出席MAATTEND 1988 3 1 4 1988 2 3 0 1988 2 2 2 1988 2 7 1988 2 2 ipdb>df.loc[1988,“出席”]***ValueError:长度不匹配:预期轴有0个元素,新值有1481个元素elements@Jeff,刚刚将Numpy更新为1.8.1,但仍然存在相同的问题。
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())