我在访问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,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文件引起的.