python - 只有整数、切片 (`:`)、省略号 (`...`)、numpy.newaxis (`None`) 和整数数组是有效索引
问题描述
我有一个称为预测的数组
array([0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0,
1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1,
1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1,
1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1,
1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,
1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0,
1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0,
0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0,
1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1,
0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0],
dtype=int64)
我尝试将此数组转换为数据框列,但标题中提到了一个错误。我尝试将 ndarray 的元素转换为整数,但这些都不起作用。
Xtest["Survived"] = [int(x) for x in predictions]
Xtest["Survived"] = [x.astype(int) for x in predictions]
Xtest["Survived"] = pd.Series(predictions)
当我打字时
type(predictions[1])
我有
numpy.int64
解决方案
正如评论中所解决的那样,抛出错误是因为Xdata
它是一个 ndarray 而不是一个 DataFrame。不能用字符串(“Survived”)索引 ndarray,因此会出现关于 indeces 的错误消息。该问题与预测数据无关。如果Xtest
是 DataFrame,上面的任何一行都应该有效。它们可以简化为
Xtest["Survived"] = predictions
推荐阅读
- c++ - 通过 SHELLEXECUTEINFO 向 .exe 发送参数
- javascript - InnerHTML- 从脚本中获取
- python - 我发现这个错误参数'string'的类型不正确(预期的str,得到了numpy.ndarray)
- javascript - 导入 Mockingoose 时,Mongoose 查询返回未定义
- python - 在 CANoe 中使用 comtypes 运行 CAPL 函数会出错
- python-3.x - 通过 Selenium 在 Chrome 的地址栏中输入文本
- javascript - 悬停浏览器元素会破坏展开/折叠侧边栏上的悬停功能
- node.js - 尝试将日期时间字段转换为 SQL Server 查询的日期时,Nodejs 服务返回日期时间而不仅仅是日期
- android - MediaButtonReceiver 不与 MediaSession 一起使用
- nginx - 带有magento 1.9的Nginx Wordpress