私は一連の郵便番号でインデックスされたデータの集まりを持っています。私は、地理的特徴の別のセット、例えば、近くの湖までの距離との距離に基づいて、これらのデータを集計したいと思います。要素が複数のカテゴリに属している場合、カテゴリ別にグループ化します。
1つのデータフレーム内の各湖をループし、50マイル以内にすべての郵便番号を返すようにhaversine関数を適用するのは簡単です。またはその逆。私は簡単にすべての郵便番号をループし、上記の郵便番号の50マイル以内に湖のリストを返すことができます。
しかし、これをもう少し効率的にやりたいと思います。各ジップが1つの湖にのみ対応している場合、最も近いと言えば、これを行う簡単な方法は新しい"lake"
列を作成し、groupby("lake")
を適用して処理のためにビニングされたデータを受け取ることです。
私が望むのは、グループの前に行を自動的に複製するテクニックです。私は、次のデータを持っていたと言う:
lake
zip
10001 Huron
10002 Huron, Erie
10003 Erie, Superior
私は次のことを返すようにgroupby
を呼び出すしたいと思います:
group 'Huron'
zip
10001
10002
group 'Erie'
zip
10002
10003
group 'Superior'
zip
10003
基本的には、これを行うための任意の良い方法があるか、本質的に立ち往生しています汚いループスルーインデックスメソッド? stack
+ groupby
続いexpand=True
と
これはトリックでした。乾杯。 –