将pandas帧的子集合并到原始帧

时间:2016-02-01 16:27:40

标签: python python-2.7 pandas dataframe

我关注ModelFrame

import pandas as pd
import pandas_ml as pdml
df = pd.DataFrame({'A': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 'B': [3, 4, 5, 6, 7, 8, 9, 10, 11, 12]})
dfml = pdml.ModelFrame(df)

In[20]: dfml
Out[20]: 
    A   B
0   1   3
1   2   4
2   3   5
3   4   6
4   5   7
5   6   8
6   7   9
7   8  10
8   9  11
9  10  12

添加了缩放

dfml['A'] = dfml.preprocessing.StandardScaler().fit_transform(dfml['A'])
0   -1.566699
1   -1.218544
2   -0.870388
3   -0.522233
4   -0.174078
5    0.174078
6    0.522233
7    0.870388
8    1.218544
9    1.566699

获得traintest数据集后

X, Y = dfml.cross_validation.train_test_split()

        A    
4 -0.174078 
3 -0.522233 
7  0.870388 

最后,我执行了fitpredict并获得了

      A         PREDICTED
 4 -0.174078       8
 3 -0.522233       2
 7  0.870388       1

现在,我希望将我的预测结果与原始框架dfml结合起来,得到最终结果:

    A   B  PREDICTED
0   1   3  
1   2   4
2   3   5
3   4   6      2
4   5   7      8
5   6   8
6   7   9
7   8  10      1
8   9  11
9  10  12

是否可能像dfml = dfml.join(Y)那样?或者使用inverse_transform的任何其他方法?

1 个答案:

答案 0 :(得分:1)

dfml.join(Y)应该有效,除了您有名为A的重叠列。

尝试:

dfml = dfml.join(Y[['PREDICTED']])