「latitude」と「longitude」の列を含む100万行のCSVデータセットを使用しています。これらの座標を含む米国の州である「state」という名前の列に基づいて新しい列を作成したいとします。パンダで.applyを使用する正しい方法は何ですか?
import pandas as pd
import numpy as np
import os
from uszipcode import ZipcodeSearchEngine
def convert_to_state(coord):
lat, lon = coord["latitude"], coord["longitude"]
res = search.by_coordinate(lat, lon, radius=1, returns=1)
state = res.State
return state
def get_state(path):
with open(path + "USA_downloads.csv", 'r+') as f:
data = pd.read_csv(f)
data["state"] = data.loc[:, ["latitude", "longitude"]].apply(convert_to_state, axis=1)
get_state(path)
私はエラーになっておく "DtypeWarning:列(4,5)は、インポートのDTYPEオプションを指定して種類を混合またはFalse = low_memory設定しました。"列4および列5は、緯度および経度に対応する。私は、この仕事を完了するために.applyをどのように使うのか、.applyがその仕事のための正しい方法であるのか理解できません。私はどのように進めるべきですか?
あなたは最高です。あなたの説明をありがとう!これは素晴らしいです! – user1917407
@ user1917407、ありがとうございます!お役に立てて嬉しいです。 – Kartik
私はこれに実際に補遺を作りましょう。もう少し手探りをした後も、私は以前と同じ問題が原因であるとは確信していませんが、まだいくつかの問題に取り組んでいます。ここでエラーログの緯度の値は緯度よりはるかに長いことがわかりますが、この異常はCSVファイル自体にはまったくありません。何がこの問題を引き起こす可能性があるかについての任意のアイデア? http://pastebin.com/HZeZGNf2 – user1917407