

異なる行インデックスを持っている行の結合の方法について。

下記のような場合どうすればいいのか教えてください。

①DataFrame1  
日付データと特徴量が複数入っています（2001年～）  
↓  
②DataFrame1をmatrixに変換  
scikit-learnの機械学習モデルをつかってpreditするため  
"2008年"からの特徴量のみを抽出しmatrix化後predictにかけます。  
↓  
③日付とpredict結果の結合  
見やすさのためにDataFrame1の日付とpredictの結果（matrix）を結合したいのですが、  
前者にはおおもとのDataFrameに振られている行インデックスがふられている一方で、  
後者は行インデックスが0からスタートになっているため、  
結合すると行がずれます（日付だけまとまって下にかたまってでる。）

どうすればよいでしょうか？なお、結合は下記でやっています。

[code]

    i_date = df['date']
    i_pred = pd.Series(gr.predict(X_test))
    df2 = pd.concat([i_date,i_pred], axis=1)
    
[/code]

※dfが元のDataFrame①にあたります。grが機械学習モデルです。  
X_testは元のDataFrame①から抽出した特徴量のmatrixです。


CC BY-SA 3.0
2018-04-17T02:39:22.493
43303
2018-04-17T03:29:36.710
2018-04-17T03:28:39.363
19110
27426
question
python pandas
DataFrameの結合について


i_pred の Indexに 元のdfのIndexを設定する方法

[code]

    i_date = df['date']
    i_pred = pd.Series(gr.predict(X_test), index=df.index)
    df2 = pd.concat([i_date,i_pred], axis=1)
    
[/code]

i_date 側のIndex値を0 から振りなおす方法

[code]

    i_date = df['date'].reset_index(drop=True)
    i_pred = pd.Series(gr.predict(X_test))
    df2 = pd.concat([i_date,i_pred], axis=1)
    
[/code]

あたりでいかがでしょうか。


CC BY-SA 3.0
2018-04-17T03:26:33.860
43306
2018-04-17T03:26:33.860
24801
43303
answer