如何解决如何消除这个浮动问题?
如果有其他方法可以做到这一点,请告诉我。我假设我的数据中的经纬度列导致了浮动问题。有解决方法吗?
以下是数据示例:
year,population,lat,lon,state name
1900,161772,44.068203,-114.742043,Idaho
(continued with different populations through 1990)
我还为我从这里获得的美国各州使用了 geoJSON 文件: https://eric.clst.org/tech/usgeojson/
我正在尝试制作一个时间滑块来显示 1900 年至 1990 年爱达荷州的人口变化。
完整代码:
import numpy as np
import pandas as pd
import folium
import re
import geopandas as gpd
import matplotlib
import matplotlib.pyplot as plt
df_idaho = pd.read_csv('/content/IdahoPop.csv',dtype=object)
df_idaho.head()
states = gpd.read_file('/content/states.json')
print(states.head())
df_idaho['Year']=pd.to_datetime(df_idaho['Year'])
id_dict={'Idaho': '0'}
df_idaho['state_id']=df_idaho['StateName'].map(id_dict)
bins = 10
df_idaho['color']=pd.cut(df_idaho['Population'],bins,labels=['#C1FFC1','#90EE90','#00EE76','#00CD66','#32CD32','#008000','#2E8B57','#32814B','#006400'],include_lowest=False)
df_idaho['color'].replace(np.nan,inplace=True)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-11-181bcdce2f44> in <module>()
----> 1 df_idaho['color']=pd.cut(df_idaho['Population'],include_lowest=False)
2 df_idaho['color'].replace(np.nan,inplace=True)
1 frames
/usr/local/lib/python3.7/dist-packages/pandas/core/reshape/tile.py in <listcomp>(.0)
239
240 rng = (nanops.nanmin(x),nanops.nanmax(x))
--> 241 mn,mx = [mi + 0.0 for mi in rng]
242
243 if np.isinf(mn) or np.isinf(mx):
TypeError: can only concatenate str (not "float") to str
解决方法
从,dtype=object
中删除pd.read_csv
,否则所有列都作为对象加载。此外,您需要更改 labels
列表中的重复颜色值,以便代码运行 ('#2E8B57'
)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。