私は10のDataFramesと同じ数の行を持ち、それぞれ固有の列を持ちます(データフレーム間で共有されません)。私は、最終的なデータフレームにすべてのデータフレームに含まれるすべての列が含まれるように、データフレームを直列に追加するだけです。最終データフレームの最初の行には、最初の行の最初の行が続き、2番目の行の最初の行が続き、10番目のデータフレームまで続きます。私はpandas.concat(dataframes、axis = 1)を試しましたが、何とかして数値データにNaN値を作成しました。非常に遅くて醜いメソッドを記述して、インデックスごとに行を増やし、行ごとに最終データフレームを作成することで、私はそれを取り組みました。これを行う正しいパンダの方法は何ですか?Pandas DataFramesを効率的に連結します
0
A
答えて
1
すべてのデータフレームがリストdf_list
であると仮定すると:
df0_index = df_list[0].index # get the first data frame's index
for i in range(1, len(df_list)):
df_list[i] = df_list[i].set_index(df0_index) # reindex all the other dataframes
df_out = pd.concat(df_list, axis=1) # concatenate
1
それが働いて手に入れました。 pandas.concat()を呼び出すときに単に "ignore_index"をtrueに設定しなければなりません。
pd.concat(df_list, axis=1, ignore_index=True) # returns dataframes correctly.
何らかの理由でインデックスの再インデックスが機能しないことに注意してください。
1
あなたはリスト内包でこれを行うことができます:
pd.concat([df.reset_index(drop=True) for df in df_list], axis = 1)
関連する問題
- 1. Julia DataFramesの効率的なカスタムオーダー?
- 2. 効率的な8連結フラッドフィル
- 3. pandas DataFramesの行のsource-dataframe/-categoryを連結
- 4. QStringsを効率的に連結する方法
- 5. MultiIndex DataFramesのPandas HDFStore:効率的にすべてのインデックスを取得する方法
- 6. Pandasはメモリに効率的に参加していますか?
- 7. Pandas Dataframes append
- 8. Python - Combinig pandas dataframes
- 9. グループ化されたpandas DataFrameに効率よく効率的に適用する
- 10. オブジェクト配列のリストの効率的な文字列連結
- 11. RethinkDB、効率的に結果をフィールドで制限します。
- 12. pandasデータフレームを効率的に展開/平坦化する方法
- 13. 2つのデータセットをlaravelに連結する最も効率的な方法
- 14. Pandasデータフレームを連結する
- 15. Pandas Dataframeのselected(query())データで効率的に作業する
- 16. Pandasでデータをより効率的にクリーニング
- 17. Pandas DataFrames列の集約セット
- 18. DataFrames、fillnaおよびthinningを組み合わせるための、より効率的なソリューションまたはより良い効率的なソリューション
- 19. pandas groupbyの日付を集約する効率的な方法
- 20. 文字列を連結する最も効率的な方法は?
- 21. 効率的にパンダのデータフレームを行単位で結合する
- 22. 一連の辞書をDataFrameに効率的に変換する
- 23. LINQの結合結果を効率的にフラット化
- 24. BigQueryサブクエリ効率的な結合
- 25. PythonのPandas DataFramesをマージする
- 26. ノード内のMongoDBを連続的にポーリングする効率
- 27. オブジェクトの関連階層を効率的に構築する
- 28. DataFramesの行を条件ごとに行単位でマージする方が効率的です。
- 29. Pandas-Pythonでの連結
- 30. Pandas Dataframesを並行して並べて並び替えます。
データフレームの行数が異なっているので、それがあります。あなたは私にDataFramesの形を教えてくれますか? – Wonjin
すべてのデータフレームを同じように再インデックスし、 'pd.merge'または' pd.concat'を呼び出す必要があります。 –
@ウォンジン・ノー、彼らはすべて同じ数の行を持っていると言っていたからです。 – YungGun