マージができないpandas.DataFrameを一度ファイルに保存して読み込み直すとマージできます。マージができないpandas.DataFrameを一度ファイルに保存して読み込み直すとマージできます。?2018-11-13マージができないpandas.DataFrameを一度ファイルに保存して読み込み直すとマージできます。Pythonお悩み解決-pandasこんにちは、PyQ開発チームの斎藤です。PyQへの質問で、pandas関連の質問をご紹介します。質問2つの表を管理しています。片方の表を更新してマージしているのですが、うまくできたりできなかったりします。?表は、pandas.DataFrameとして扱っているそうです。更新直後は正しくマージできないで、一度ファイルに保存して読み込み直すと正しく保存できるそうです。このときは、実際のデータを見ていないので「一度ファイルに保存して読み込み直すとできる」をヒントとして予想を回答しました。確認してもらったところ、その通りの原因だったようです。実際に、上手く行くケースと、上手くいかないケースを、具体例を通して見ていきましょう。データは、特に意味のないサンプルです。B2つの表をマージしてみましょう。Bこれは、期待通りの結果です。正しいケースになります。上手くいかないケースでは、正しくないケースを再現してみましょう。B原因ver列の同じ値の行が別れています。原因は、df1.verがintなのに、df2.verがstrになっているからですね。実際には、df1は、最新版をファイルから読んで、verはintでした。df2.verはスクレイピングして更新しており、strでした。従って、そのままだと上手く行きませんでした。ファイルに保存してから読み込むと、pandasが上手いこと考えて自動的にver列をintにしてくれます。そのため、ファイルを経由すると上手くいっていたのです。pandasは、色々なところで「よきにはからって」くれますが、このように不思議な現象を起こすこともあるようです。12:00このブログはPyQ開発スタッフが運営しています。技術書1冊分の価格ではじめるPython独学プラットフォームです。Pythonの基本から機械学習・データ分析まで、実際にコードを書きつつブラウザだけで学べます。Pythonお悩み解決で紹介しているような疑問が解決できるプラン(スタンダードプラン)もあるので、プログラミング学習をサポートする先輩プログラマーのような存在が必要になったときには、是非検討してみてくださいね。»Python学習チャンネルPython独学プラットフォームPyQ(パイキュー)の公式ブログです。PyQのリリース情報やカリキュラム紹介だけでなく、プログラミング学習者向けにPythonのQ&A、プログラミング学習tipsなどを配信しています。reserved.引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。