你能帮我解决这个错误吗? AttributeError:'numpy.ndarray'对象没有属性'keys'

问题描述 投票:0回答:1

all_features = X_train.keys()

AttributeError:'numpy.ndarray'对象没有属性'keys'

这是我的代码:

    cor_list = []

    #calculate the correlation with y for each feature
    for i in all_features:
        cor = np.corrcoef(X_train[i], y_train, rowvar=False)[0, 1]
        cor_list.append(cor)
     #replace NaN with 0
    cor_list = [0 if np.isnan(i) else i for i in cor_list]
    #feature_name
    cor_feature = X_train.iloc[:np.argsort(np.abs(cor_list))[-num_feats:]].columns.tolist()
    #feature selection? 0 for not select, 1 for select
    cor_support = [True if i in cor_feature else False for i in all_features]
    X_train_selected = pd.DataFrame(X_train, columns=cor_feature)
    X_test_selected = pd.DataFrame(X_test, column = cor_feature)
    # Correlation with output variable
    return X_train_selected, X_test_selected


**This when i called in main:**

``` all_features = X_train.keys()

X_train_selected, X_test_selected = FS.Feature_cor_selector(X_train, X_test, y_train, 10, all_features) ```

python pandas correlation feature-extraction feature-selection
1个回答
0
投票

[在此处输入图像描述][1]

ndarray 没有“keys”属性。您可以找到文档和所有属性,https://numpy.org/doc/stable/reference/arrays.ndarray.html#。你可能应该使用 X_train.flags

© www.soinside.com 2019 - 2024. All rights reserved.