非常に大きなデータフレーム (~1.7MM 行 x 6 列) があります。関連データの簡単な例は次のとおりです。
City Borough
Brooklyn Brooklyn
Astoria Queens
Astoria Unspecified
Ridgewood Unspecified
Ridgewood Queens
そのため、City 列の情報に基づいて「未指定」の値を入力しようとしています。したがって、たとえば、シティ リッジウッドは、あるインスタンスでは未指定の行政区に属していますが、データセットの他の場所では、行政区がクイーンズとして正しくリストされています。
既に Panda の fillna を調べましたが、私のニーズを満たしていないようです。np.where メソッドも検討しましたが、この状況でどのように機能するかわかりません。私はパンダにかなり慣れていませんが、マップ/適用機能が必要なのでしょうか? これはおそらく千通りの方法で実現できますが、データのサイズを考慮してクロールされないものを探します。
編集:次のコードを使用して、都市と自治区の間で最も多く発生する「ペア」を含む辞書を作成できました。
specified = data[['Borough','City']][data['Borough']!= 'Unspecified']
paired = specified.Borough.groupby(specified.City).max()
paired = paired.to_dict()
ペアになった dict は、市をキーとし、区を値として持ちます。最後のステップは、それをborough列に適用/マッピングすることです...どうすればいいですか?