私は、2組の座標(lat1、lon1、lat2、lon2)を含むPandas DataFrameを持っています。私はこれらの座標を使って距離を計算する関数を持っています。ただし、データフレームの行の一部が無効です。有効な行にのみ関数を適用し、関数の結果を 'dist'カラムに保存したいと考えています(カラムはデータフレーム内にすでに存在しています)。私はこのようなものが欲しいです:パンダ:条件付きで他の列の値に基づく関数を使用して列を塗りつぶします
UPDATE dataframe
SET dist=calculate_dist(lat1, lon1, lat2, lon2)
WHERE lat1 IS NOT NULL AND lat2 IS NOT NULL AND user_id>100;
どうすればいいですか?
私はdf = df.apply(calculate_dist, axis=1)
を使ってみましたが、この方法では条件に一致する行だけでなくすべての行を処理する必要があり、無効な行を無視するcalculate_dist関数内にif文を入れる必要があります。より良い方法がありますか?
私は既にStackOverflowに同様の質問が出ていることは知っていますが、関数と行の条件付き選択の両方を利用する質問は見つかりませんでした。
それは動作しますが、よろしくお願いします。 – JustAC0der