Pandas 和 scikit-learn:KeyError:[....] 不在索引中

2024-03-08

我不明白为什么会出现错误KeyError: '[ 1351 1352 1353 ... 13500 13501 13502] not in index'当我运行这段代码时:

cv = KFold(n_splits=10)

for train_index, test_index in cv.split(X):
    f_train_X, f_valid_X = X[train_index], X[test_index]
    f_train_y, f_valid_y = y[train_index], y[test_index]

I use X(一个 Pandas 数据框)来分割 Icv.split(X).

X.shape
y.shape
Out: (13503, 17)
Out: (13503,)

问题是您尝试索引的方式X using X[train_index]. 你需要使用.loc or .iloc既然你有pandas数据框。


Use this

cv = KFold(n_splits=10)

for train_index, test_index in cv.split(X):
    f_train_X, f_valid_X = X.iloc[train_index], X.iloc[test_index]
    f_train_y, f_valid_y = y.iloc[train_index], y.iloc[test_index]

第一种方式:使用示例iloc

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.randint(0,100,size=(100, 4)), columns=list('ABCD'))

df[[1,2]]
#KeyError: '[1 2] not in index'

df.iloc[[1,2]]
#    A   B   C   D
#1  25  97  78  74
#2   6  84  16  21

第二种方式:提前将 pandas 转换为 numpy 的示例

df = df.values

#now this should work fine
df[[1,2]]
#array([[25, 97, 78, 74],
#      [ 6, 84, 16, 21]])
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Pandas 和 scikit-learn:KeyError:[....] 不在索引中 的相关文章

随机推荐

  • iOS 7:标签栏控制器的不同导航项目

    我对 iOS 应用程序开发还比较陌生 目前我正在开发一个带有标签栏的小应用程序 我面临的问题是我希望每个选项卡都有不同的导航项目 我尝试了很多事情 但事情都不起作用 我正在使用原生 iOS 语言进行编程 在我的应用程序中 我有一个 AppD
  • 如何通过获取用户输入的日期来查找两个日期之间的日差

    我需要通过获取日期作为用户输入来查找两个日期之间的天数差异 我尝试使用获取日期raw input但我收到错误 我正在使用 2 7 版本的 python import time from datetime import date day1 i
  • 编译器会排除未使用的模板代码吗?

    当您使用具有多种方法 例如向量 的模板并编译代码时 编译器会丢弃未使用的方法中的代码吗 除非使用模板 否则不会实例化模板 因此实际上没有任何代码可以丢弃 标准说 14 7 1 10 实现不得隐式实例化不需要实例化的函数模板 成员模板 非虚成
  • 查找两个字符串之间的公共子串

    我想比较两个字符串并保留匹配的字符串 在比较失败的地方分开 所以如果我有 2 个字符串 string1 apples string2 appleses answer apples 另一个例子 因为字符串可能有多个单词 string1 app
  • emacs 是否可以突出显示 80 个以上的字符? [复制]

    这个问题在这里已经有答案了 我在这里看到了一些解决方案 如果超过 80 个字符 它们会突出显示整行 并且还会执行line wrap一旦该行变得大于 80 我想做的是编辑我的 emacs文件 以便超过 80 个字符的任何字符都呈现不同的背景
  • c 中的模拟器/生成的 switch 语句范围

    是否有 hack 来支持 c 99 或 Objective C switch 语句中的范围情况 我知道不支持这样写 switch x case 1 case 2 10 case 11 但我认为应该有一种方法可以使用 define 宏生成代码
  • 如何统计用户输入中字母的频率?

    当用户在 Ruby 中输入类似单词时 如何计算 supercaliforniamightly 中出现的字母的频率 并打印出星星或星号来计算出现的字母数量 这是我的代码 puts Enter string text gets chomp te
  • 解码 Pandas 中的 one-hot 数据帧

    我有 2 个数据框 数据如下 df1 id name age likes 0 A 21 rose 1 B 22 apple 2 C 30 grapes 4 D 21 lily df2 category Fruit Flower orange
  • ansible 2.13 中弃用了 hash_behavior 合并

    我们有很多 group vars webserver yml 文件 其结构如下 如果没有 hash behaviour merge 这些站点将不再被合并 并且不再可能以干净的方式配置多个虚拟主机 您建议如何解决该问题 项目1 yml sit
  • 用另一个包完全覆盖 NPM 包

    根据 NPM 官方文档 overrides in package json允许用另一个包完全覆盖一个包 覆盖提供了一种替换依赖树中的包的方法 与另一个版本 或完全另一个包 这些改变可以 根据需要将范围设定为具体或模糊 https docs
  • 为什么 Laravel 默认情况下通过 POST 注销(而不是 GET)? [复制]

    这个问题在这里已经有答案了 在 Laravel 应用程序的上下文中 POST 执行注销的意义是什么 POST 与 GET 相比是否存在一些安全性和 或会话特殊性 生成的相关部分make auth ul class dropdown menu
  • VS2017 vstemplate自动安装Nuget包?

    您好 我有一个 Nuget 包 希望让它在项目创建后自动安装 我将其添加到我的 vstemplate 文件中
  • 使用 Microsoft Access 作为 MySQL 数据库的前端?

    我的 Microsoft Access 数据库 FE BE 已经摆脱了限制 我必须导入更多数据 因此 Access 不再是我的正确选择 我将切换到 MySQL 不是 SQL Server 作为一个很好的替代方案 但我想知道使用什么作为 My
  • 如何在 Swift 5 中解码像“\xc3\xa6”这样的 utf8 文字?

    我正在从蓝牙特性中获取 WiFi SSID 列表 每个 SSID 都表示为一个字符串 有些具有 UTF8 文字 例如 xc3 xa6 我尝试了多种方法来解码这个像 let s xc3 xa6 let dec s utf8 由此我期望 pri
  • 组合 Averageif 和 A​​veragea:将空白视为 0 进行条件平均

    我需要计算可以包含空单元格或空字符串 的范围内的平均值 公式平均IF https support google com docs answer 3256529 hl en like AVERAGE https support google
  • 使用 Swift 更改占位符文本颜色

    我有一个实现深蓝色的设计UITextField 由于占位符文本默认为深灰色 我几乎看不清占位符文本的内容 我当然已经用谷歌搜索了这个问题 但在使用 Swift 语言而不是 Obj c 时我还没有找到解决方案 有没有办法改变占位符文本颜色UI
  • ShinyDashboard 动态要点

    我希望有一个简单的问题可以将标签有序列表传递到闪亮的仪表板中 我想做的是有一个函数 可以根据过滤的类别生成项目符号的有序列表 这是我希望能够使用名为 nba teams 的数据框执行的操作的一个简单示例 teams conference B
  • Android ViewPageAdapter 为每个选项卡提供单独的后台堆栈

    我有一个只有一个 Activity 的 Android 应用程序 该活动包含一个带有 ViewPageAdapter 的 SlidingTabLayout 如下所示this http www exoguru com android mate
  • 致命错误:刷新表视图时索引超出范围

    当拉动刷新时 我遇到了这个奇怪的应用程序崩溃 我的代码如下 var posts Posts override func viewDidLoad super viewDidLoad refreshControl gt pull to refr
  • Pandas 和 scikit-learn:KeyError:[....] 不在索引中

    我不明白为什么会出现错误KeyError 1351 1352 1353 13500 13501 13502 not in index 当我运行这段代码时 cv KFold n splits 10 for train index test i