【问题标题】:append element in array or in pandas dataframe在数组或熊猫数据框中附加元素
【发布时间】:2020-11-17 23:54:13
【问题描述】:
rmse =  []
r2 =  []
columns = ['col1','col2', ... , 'col26']
lrm = LinearRegression()
for i in columns:
    X= df[i].values.reshape(-1,1)
    for j in columns:
        y= df[j].values.reshape(-1,1)

        X_std = stdsc.fit_transform(X)
        y_std = stdsc.fit_transform(y)

        lrm.fit(X_std,y_std)
        y_pred = lrm.predict(X_std)

        rmse.append(np.sqrt(metrics.mean_squared_error(y_std,y_pred)))
        r2.append(metrics.r2_score(y_std, y_pred))

使用我的代码,我有一个 rmse 和 r2 分数列表,但我想将其作为数组或 pandas 数据框,所以 我可以在热图中进行可视化。

我应该使用什么功能?

【问题讨论】:

    标签: arrays pandas loops for-loop


    【解决方案1】:

    你可以这样算:

    import pandas as pd
    
    df = pd.DataFrame({'rmse':rmse, 'r2':r2})
    
    print(df.head())
    

    还有更多有趣的方法来解决它,请参阅here

    【讨论】:

    • 我认为这只是在熊猫数据框中制作列表中的元素。我想要的是一个 26x26 的数组。当你看到我的循环时,它只会生成一个 26*26=676 个元素的列表
    【解决方案2】:

    26*26 的数组是指两个列表的二维矩阵?

    如果是,那么您可以使用 numpy:

    import numpy as np
    np.column_stack((rmse,r2))
    

    【讨论】:

      猜你喜欢
      • 2019-04-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-14
      • 1970-01-01
      • 2019-01-26
      • 1970-01-01
      • 2018-02-08
      • 2017-06-13
      相关资源
      最近更新 更多