2017-09-29 10 views
1

私は2つのデータフレームとリストを持っています。私はパンダのデータフレームにそれらを混ぜたい。リストの長さとデータフレームの列を混合することで、配列の長さがインデックスの長さと一致しない

リスタM1、データフレームtest_subdataとデータフレームpredicciones:

result_frame = pd.DataFrame({'index': test_subdata['id'], 'match_1': m1, 
          'pred1': predicciones['pred1']}) 

len(m1) 
438 
test_subdata.shape 
(438, 8) 
predicciones.shape 
(438, 3) 

だから、基本的に私はこの、(438、3)の大きさのデータフレームをしたい上記の値を持ちますしかし、そうすると、次のエラーが表示されます。

ValueError: array length 438 does not match index length 841 

何か起こっていることはありますか?

PS:1つのデータフレームとリストを混在させると、2つのデータフレームの間でさえもすべて正常です。

答えて

1

シリーズに含まれるインデックスのため、配列の不一致エラーが発生しています。だから、唯一の値はすなわち、以前のインデックスをリセットまたはパスtest_subdataprediccionesのインデックスが作成される非既存のインデックスを使用して新しいオブジェクト異なる場合シリーズですtest_subdataprediccionesので

result_frame = pd.DataFrame({'index': test_subdata['id'].values, 'match_1': m1, 
         'pred1': predicciones['pred1'].values}) 

説明

データフレームコンストラクタから。この場合、データフレームサイズは倍になります。

m1の長さが既存のインデックスの長さと一致しないため、配列の長さの不一致エラーが発生する可能性があります(既存のアプローチでは、データフレームのインデックスが同じであることを確認してください)。

+0

これは機能します。ありがとう、@ Bharath shetty –

+0

喜んで@AndrésCórdovaを助けることができる – Dark

関連する問題