【发布时间】:2016-12-12 11:43:15
【问题描述】:
我正在使用包含“纬度”和“经度”列的百万行 CSV 数据集,并且我想根据称为“州”的列创建一个新列,该列是包含这些坐标的美国州.
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 选项或设置 low_memory=False。”第 4 列和第 5 列对应于纬度和经度。我不明白我将如何使用 .apply 来完成这项任务,或者 .apply 是否是完成这项工作的正确方法。我应该如何进行?
【问题讨论】: