[解決済み] pandas の iterrow の値を更新する。
2023-01-19 14:51:40
質問
私はジオコーディングの仕事をしており、その際に
selenium
を使用して、場所の住所に必要なx-y座標をスクリーンスクレイピングしています。私はxlsファイルをパンダデータフレームにインポートし、以下のようにx-y座標を持っていない行を更新するために明示的なループを使用したいと思います。
for index, row in rche_df.iterrows():
if isinstance(row.wgs1984_latitude, float):
row = row.copy()
target = row.address_chi
dict_temp = geocoding(target)
row.wgs1984_latitude = dict_temp['lat']
row.wgs1984_longitude = dict_temp['long']
私が読んだのは
pandasのDataFrameをiterrowした後、この関数がquot;take"されないのはなぜですか?
を読んで、iterrowが編集のためのコピーではなく、ビューを提供するだけであることを十分に認識していますが、私が本当に行ごとに値を更新する場合はどうなりますか?それは
lambda
は実現可能でしょうか?
どのように解決するのですか?
からの戻り値の行は
iterrows
から戻ってくる行は、もはや元のデータフレームに接続されていないコピーであるため、編集してもデータフレームは変わりません。ありがたいことに、各項目は
iterrows
から戻ってくる各項目には現在のインデックスが含まれているので、それを使ってデータフレームの関連する行にアクセスし、編集することができるのです。
for index, row in rche_df.iterrows():
if isinstance(row.wgs1984_latitude, float):
row = row.copy()
target = row.address_chi
dict_temp = geocoding(target)
rche_df.loc[index, 'wgs1984_latitude'] = dict_temp['lat']
rche_df.loc[index, 'wgs1984_longitude'] = dict_temp['long']
私の経験では、この方法は、以下のようなアプローチを使うよりも遅く感じます。
apply
または
map
というように、パフォーマンスとコーディングの容易さのトレードオフをどのように行うかは、いつもどおりあなた次第です。
関連
-
[解決済み] for'ループでインデックスにアクセスする?
-
[解決済み] 辞書を値で並べ替えるにはどうしたらいいですか?
-
[解決済み] PandasでDataFrameの行を反復処理する方法
-
[解決済み] __init__.py は何のためにあるのですか?
-
[解決済み] Pandasのカラム名のリネーム
-
[解決済み] Pandas DataFrameからカラムを削除する
-
[解決済み] Pandasのデータフレームで複数の列を選択する
-
[解決済み] Pandas DataFrameの行数を取得する方法は?
-
[解決済み】forループを使った辞書の反復処理
-
[解決済み] DataFrameの文字列、dtypeがobjectの場合
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] パンダの.atと.locの比較
-
[解決済み] Pythonのキャッシュライブラリはありますか?
-
[解決済み] pandasのDataFrameから空のセルを含む行を削除する
-
[解決済み] 値で列挙名を取得する [重複]。
-
[解決済み] PyMongoで.sortを使用する
-
[解決済み] オブジェクトのリストに特定の属性値を持つオブジェクトが含まれているかどうかをチェックする
-
[解決済み] Pandasを使って、既存のExcelファイルに新しいシートを保存する方法は?
-
[解決済み] Pythonの検索パスを他のソースに展開する
-
[解決済み] PythonのRequestsモジュールを使ってWebサイトに "ログイン "するには?
-
[解決済み] 認証プラグイン 'caching_sha2_password' はサポートされていません。