Python 熊猫无法将坐标识别为数字
我有一个坐标数据作为csv文件,我想用matplotlib来绘制它 我尝试使用的代码是Python 熊猫无法将坐标识别为数字,python,csv,pandas,coordinates,Python,Csv,Pandas,Coordinates,我有一个坐标数据作为csv文件,我想用matplotlib来绘制它 我尝试使用的代码是 import numpy as np import pandas as pd data_filename='coordinate_car.csv' data = pd.read_csv(data_filename, parse_dates=['lati', 'long'], encoding='cp1252') data.columns p_lng=data.long p_lat=data.l
import numpy as np
import pandas as pd
data_filename='coordinate_car.csv'
data = pd.read_csv(data_filename, parse_dates=['lati', 'long'],
encoding='cp1252')
data.columns
p_lng=data.long
p_lat=data.lati
def lat_lng_to_pixels(lat,lng):
lat_rad=lat*np.pi/180.0
lat_rad=np.log(np.tan((lat_rad+np.pi/2.0)/2.0))
x=100*(lng+180.0)/360.0
y=100*(lat_rad-np.pi)/(2.0*np.pi)
return(x,y)
px, py=lat_lng_to_pixels(p_lat,p_lng)
当我运行这个代码时,我得到的消息是:
TypeError: can't multiply sequence by non-int of type 'float'
有人能帮我或让我知道如何处理这件事吗
谢谢大家!
我将整个错误代码添加为两张图片
这是我要使用的数据。您的['lati','long']列似乎具有对象数据类型
以下是用于复制此文件的代码:
In [23]: pd.Series(['11.1111','22.222']) * np.pi
...
skipped
...
TypeError: can't multiply sequence by non-int of type 'float'
解决方法:
你能提供一份报告吗?目前我们缺少诸如p_lng和p_lat、进口等信息……同样重要的是显示完整的错误回溯,指出错误发生的确切路线。非常感谢您让我知道!我不知道如何根据规则发布错误,所以现在我将错误消息添加为图片。或者,您可以提供coordinate_car.csv的某些部分吗?为什么尝试将['lati','long']解析为日期?
In [28]: pd.to_numeric(pd.Series(['11.1111','22.222', 'a string']), errors='coerce') * np.pi
Out[28]:
0 34.906550
1 69.812472
2 NaN
dtype: float64