ValueError:当数组长度与索引长度不匹配时。如何调试呢?

尼拉格·罗伊

因此,我开始使用Kaggle,并且正在执行指导任务,以预测谁能够幸存,谁没有在《泰坦尼克号坠毁》中幸存。

我按照要求做了所有事情。

所以我的最后一个代码单元看起来像这样

from sklearn.ensemble import RandomForestClassifier

y = train_data['Survived']
features = ["Pclass","Sex","SibSp","Parch"]
X = pd.get_dummies(train_data[features])
X_test = pd.get_dummies(train_data[features])
model = RandomForestClassifier(n_estimators=1,max_depth=5,random_state=1)
model.fit(X,y)
predictions = model.predict(X_test)



output = pd.DataFrame({'PassengerId': test_data.PassengerId, 'Survived': predictions})
output.to_csv('my_submission.csv', index=False)
print("Your submission was successfully saved!")

编译后显示以下错误:

ValueError                                Traceback (most recent call last)
<ipython-input-24-7d2fc2ea2973> in <module>
     11 
     12 
---> 13 output = pd.DataFrame({'PassengerId': test_data.PassengerId, 'Survived': predictions})
     14 output.to_csv('my_submission.csv', index=False)
     15 print("Your submission was successfully saved!")

/opt/conda/lib/python3.7/site-packages/pandas/core/frame.py in __init__(self, data, index, columns, dtype, copy)
    433             )
    434         elif isinstance(data, dict):
--> 435             mgr = init_dict(data, index, columns, dtype=dtype)
    436         elif isinstance(data, ma.MaskedArray):
    437             import numpy.ma.mrecords as mrecords

/opt/conda/lib/python3.7/site-packages/pandas/core/internals/construction.py in init_dict(data, index, columns, dtype)
    252             arr if not is_datetime64tz_dtype(arr) else arr.copy() for arr in arrays
    253         ]
--> 254     return arrays_to_mgr(arrays, data_names, index, columns, dtype=dtype)
    255 
    256 

/opt/conda/lib/python3.7/site-packages/pandas/core/internals/construction.py in arrays_to_mgr(arrays, arr_names, index, columns, dtype)
     62     # figure out the index, if necessary
     63     if index is None:
---> 64         index = extract_index(arrays)
     65     else:
     66         index = ensure_index(index)

/opt/conda/lib/python3.7/site-packages/pandas/core/internals/construction.py in extract_index(data)
    376                         f"length {len(index)}"
    377                     )
--> 378                     raise ValueError(msg)
    379             else:
    380                 index = ibase.default_index(lengths[0])

ValueError: array length 891 does not match index length 418

但是,我无法调试确切的错误,有人可以帮忙吗?谢谢。

丹尼尔·拉伯

你已经建立的方式X_test据帧是不正确的,一旦你正在考虑的train_data代替,TEST_DATA这造成的尺寸之间的不匹配test_data.PassengerId预测,创建输出文件时。

更正以下行,它将起作用:

X_test = pd.get_dummies(test_data[features])

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

数组长度与索引长度不匹配

通过混合列表和数据框列,数组长度与索引长度不匹配

当值的长度与索引的长度不匹配时如何填充 nan?

尝试修改pandas groupby的列值时出现“ ValueError:值的长度与索引的长度不匹配”

ValueError:将函数应用于数据帧时,值的长度与索引的长度不匹配

pandas 和 numpy - ValueError:值的长度与索引的长度不匹配

VHDL Modelsim:数组长度不匹配(空数组与长度为 8 的数组)

ValueError:值的长度 (1) 与索引的长度不匹配 (12797) - 索引的长度相同

如何输入数组长度?

当值的长度与索引的长度不匹配时,用Nan填充

熊猫分组长度与 NaN 不匹配

使用$ push时如何验证数组长度?

值长度与索引长度不匹配

枚举返回索引-1,导致ValueError:值的长度与索引的长度不匹配

当索引不匹配但长度匹配时,如何连接两个数据帧?

向dask数据框添加新列会引发ValueError:值的长度与索引的长度不匹配

熊猫ValueError:值的长度与索引的长度不匹配-创建一个新列

Pandas DataFrame:ValueError:值的长度(13)与索引的长度(12)不匹配

使用 for 循环获取 ValueError 的格式:值的长度与索引的长度不匹配

ValueError:值的长度与索引的长度不匹配 熊猫DataFrame.unique()

我得到的抓取的 CSV 熊猫数据框:ValueError('值的长度与''索引'的长度不匹配)

数组长度的Jsonpath

数组长度

数组长度不变

如何理解数组长度

如何检查JSON中的数组长度

如何获得正确的数组长度

当索引大于数组长度时,Javascript循环返回数组的开头

如何在Eclipse调试器中显示数组长度?