非洲小土著 发表于 2020-5-30 21:48:57

'numpy.ndarray' object has no attribute 'ix' 求助

import pandas as pd

data = pd.read_csv('cs-training.csv')
data = pd.DataFrame(data=data)
data.describe().to_csv('DataDescribe.csv')

from sklearn.ensemble import RandomForestRegressor
from sklearn.preprocessing import Imputer
data = Imputer().fit_transform(data)

# 用随机森林对缺失值预测填充函数
def set_missing(df):
    # 把已有的数值型特征取出来
    process_df = df.ix[:,]
    # 分成已知该特征和未知该特征两部分
    known = process_df.as_matrix()
    unknown = process_df.as_matrix()
    # X为特征属性值
    X = known[:, 1:]
    # y为结果标签值
    y = known[:, 0]
    # fit到RandomForestRegressor之中
    rfr = RandomForestRegressor(random_state=0,
    n_estimators=200,max_depth=3,n_jobs=-1)
    rfr.fit(X,y)
    # 用得到的模型进行未知特征值预测
    predicted = rfr.predict(unknown[:, 1:]).round(0)
    print(predicted)
    # 用得到的预测结果填补原缺失数据
    df.loc[(df.MonthlyIncome.isnull()), 'MonthlyIncome'] = predicted
    return df


df为什么是numpy?怎么消除这个error

永恒的蓝色梦想 发表于 2020-5-30 21:51:48

发完整代码啦,根本没有调用。

BIO-张磊 发表于 2020-6-3 22:06:24

现在的python版本的pandas和numpy已经不再支持ix功能了,推荐使用iloc和loc混合实现ix的功能
页: [1]
查看完整版本: 'numpy.ndarray' object has no attribute 'ix' 求助