zoukankan      html  css  js  c++  java
  • 问题解决: Pandas and scikit-learn: KeyError: […] not in index

    https://stackoverflow.com/questions/51091132/pandas-and-scikit-learn-keyerror-not-in-index

    
    

    The problem is the way you are trying to index the X using X[train_index]. You need to use .loc or .iloc since you have pandas dataframe.

    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]

    1st way: Example using 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

    2nd way: Example by converting pandas to numpy in advance

    df = df.values
    
    #now this should work fine
    df[[1,2]]
    #array([[25, 97, 78, 74],
    #      [ 6, 84, 16, 21]])
    
    
  • 相关阅读:
    三、checkedListBoxControl
    三、安装MyCat-Web
    三、zookeeper安装
    二、.Net 连接mycat
    一、MyCat的搭建
    二、优惠卷
    二、Docker部署应用
    【2019-05-08】感知当下
    【一句日历】2019年7月
    【读书】2019
  • 原文地址:https://www.cnblogs.com/Allen-rg/p/9453949.html
Copyright © 2011-2022 走看看