小编sen*_*nce的帖子

DataFrame.astype() 错误参数

astypeValueError使用时引发dict of columns.

我正在尝试转换大 DF 中稀疏列的类型(从 float 到 int)。我的问题在于价值观NaNerrors即使参数设置为 ,在使用列字典时也不会忽略它们'ignore'

这是一个玩具示例:

t=pd.DataFrame([[1.01,2],[3.01, 10], [np.NaN,20]])
t.astype({0: int}, errors='ignore')
Run Code Online (Sandbox Code Playgroud)

ValueError:无法将非有限值(NA 或 inf)转换为整数

python pandas

4
推荐指数
1
解决办法
8143
查看次数

Python Folium:如何创建具有多个弹出文本行的 folium.map.Marker()?

是否可以为弹出文本创建第二行或第三行,包括调整弹出框的宽度和高度?

在 GitHub 上找到了一些东西,但这是唯一的方法吗? https://github.com/python-visualization/folium/pull/294

python maps popup python-3.x folium

4
推荐指数
1
解决办法
2万
查看次数

folium画星标记

我正在考虑在大叶地图上绘制三个不同的标记:正方形、圆形和星形。前两个是使用 BeautifyIcon 插件完成的。我在绘制星星时遇到了麻烦。我只想画星星而没有大头针。有什么建议吗?

import folium

# Make an empty map
m = folium.Map(location=[15, 0], tiles="OpenStreetMap", zoom_start=2)

# square marker
icon_square = folium.plugins.BeautifyIcon(
    icon_shape='rectangle-dot', 
    border_color='red', 
    border_width=10,
)
folium.Marker([50, -70], tooltip='square', icon=icon_square).add_to(m)

# circle marker
icon_circle = folium.plugins.BeautifyIcon(
    icon_shape='circle-dot', 
    border_color='green', 
    border_width=10,
)
folium.Marker([-20, 25], tooltip='circle', icon=icon_circle).add_to(m)

# star marker
icon_star = folium.Icon(
    prefix='fa', 
    icon='star', 
    icon_color='blue',
)
folium.Marker([60, 125], tooltip='star', icon=icon_star).add_to(m)


m.save('markers_on_folium_map.html')
Run Code Online (Sandbox Code Playgroud)

python maps icons python-3.x folium

3
推荐指数
1
解决办法
2341
查看次数

在OpenCV2中找到最接近图像中心的轮廓

我正在尝试使用 openCV2 从静态地图自动描绘教堂和大教堂的轮廓。

简而言之,我是:

  • 从这个维基百科页面抓取建筑物的坐标。
  • 使用 Python 库 Folium 创建以这些坐标为中心的地图。
  • 将地图另存为 jpg 图像。
  • 应用openCV2的findContours方法来描绘建筑物的轮廓。

我最初假设大教堂将是几百米内最大的建筑,因此我按照PyImageSearch 教程按面积对轮廓进行排序:

contours = sorted(contours, key = cv2.contourArea, reverse = True)[0:1]
Run Code Online (Sandbox Code Playgroud)

在某些情况下,这就像一种魅力,比如圣彼得大教堂:

在此输入图像描述

然而,根据城市和所选的缩放级别,我经常碰巧选择附近实际上比教堂大的建筑物:

在此输入图像描述

我正在考虑选择最接近图像中心的轮廓。

一种选择是计算地图中所有轮廓的中心,然后确定距图像城市中心最近的点,但我想知道是否有更简单的解决方案。任何帮助将不胜感激!

python opencv contour

3
推荐指数
1
解决办法
2657
查看次数

Folium 中的 HeatMapWithTime 插件

我能够创建热图,但点未显示:

import folium
import folium.plugins as plugins
import numpy as np
import pandas as pd
import geopandas as gpd
from folium import Choropleth, Circle, Marker
from folium.plugins import HeatMap, MarkerCluster, HeatMapWithTime
ucdp_df = pd.read_csv('csv/ged201.csv') # from https://ucdp.uu.se/downloads/index.html#ged_global
ucdp = gpd.GeoDataFrame(ucdp_df, geometry=gpd.points_from_xy(ucdp_df.longitude, ucdp_df.latitude))
ucdp.crs = {'init': 'epsg:4326'}
m = folium.Map([35, 41], tiles='stamentoner', zoom_start=6)
hm = HeatMapWithTime(data=ucdp[['latitude', 'longitude']].values.tolist(),
                     index=ucdp['year'].values.tolist(), 
                     radius=10,
                     auto_play=True,
                     max_opacity=0.3)
hm.add_to(m)
m
Run Code Online (Sandbox Code Playgroud)

python heatmap python-3.x geopandas folium

3
推荐指数
1
解决办法
3843
查看次数

在Python中从一个列表中减去另一个列表可能会出现重复值

我希望从一个数组中删除另一个数组的内容。

array_2 = ['one' , "two" , "one", "three", "four"]
array_1 = ['one', "two"]
Run Code Online (Sandbox Code Playgroud)

我的第一个想法是使用列表理解

array_3 = [x for x in array_2 if x not in array_1]
Run Code Online (Sandbox Code Playgroud)

但是,这将删除重复的项目结果:['three', 'four']

我只想"one"从数组中删除一次,因为我正在寻找列表减法。所以我希望结果是:['one', 'three', 'four']

什么是实现此目标的良好 Pythonic 方法?

python list subtraction python-3.x

2
推荐指数
1
解决办法
2444
查看次数

Seaborn Swarmplot 永远运行并且不在 Jupyter Notebook 中打印绘图

Pandas 数据框有“user_fair、user_good、 rating”这 3 列。

我用来sns.swarmplot绘制“user_fair vs rating”和“user_good vs rating”。

“user_fair vs rating”工作正常,但是当尝试绘制“user_good vs rating”时,代码会永远运行并且不会打印任何图。我正在使用Python3Jupyter Notebook

这是我正在使用的代码:

fig, ax = plt.subplots(figsize=(15, 15))
ax = sns.swarmplot(y="user_good", x="rating", data=data)
ax.set_xlabel("Rating",size = 20,alpha=0.8)
ax.set_ylabel("Goodness of User who got Rated",size = 20,alpha=0.8)
ax.set_title("Distributin of Rating and How are Goodness Score of ratee",size=20)
Run Code Online (Sandbox Code Playgroud)

python-3.x pandas swarmplot

2
推荐指数
1
解决办法
5958
查看次数

如何使用“折线”

使用 jupyter Notebook/python3

我想使用带有标记的折线,但它不起作用

map = folium.Map(location=[37.4601908, 126.4406957])

for index,lat in enumerate(place_lat):
    folium.Marker([lat, 
                   place_lng[index]],
                  popup=('patient3 \n 74contacts'),
                 icon = folium.Icon(color='green',icon='plus')).add_to(map)
    folium.Polyline(color='red').add_to(map)

map
Run Code Online (Sandbox Code Playgroud)

我以为Polyline在大叶里

但错误说

AttributeError: module 'folium' has no attribute 'Polyline'
Run Code Online (Sandbox Code Playgroud)

如何使用折线?

python polyline python-3.x folium jupyter-notebook

2
推荐指数
1
解决办法
2万
查看次数

是否可以在 Folium 中绘制路径?

我阅读了许多与此相关的文档,但找不到我要找的东西。

我想绘制两点之间的步行路径。是否可以?如果没有,python 中是否还有其他库用于此目的?

python maps python-3.x folium data-science

2
推荐指数
1
解决办法
4537
查看次数

向 Folium 地图添加标题或文本

我想知道是否有办法在 python 中的大叶地图上添加标题或文本?

我有 8 张地图要显示,我希望用户无需单击标记即可知道他们正在查看哪张地图。我试图添加地图的图像,但不能,因为我没有足够高的声誉分数。

我的代码:

#marker cluster
corpus_chris_loc = [27.783889, -97.510556]

harvey_avg_losses_map = folium.Map(location = corpus_chris_loc, zoom_start = 5)

marker_cluster = MarkerCluster().add_to(harvey_avg_losses_map)

#inside the loop add each marker to the cluster
for row_index, row_values in harvey_losses.iterrows():

    loc = [row_values['lat'], row_values['lng']]
    pop = ("zip code: " + str(row_values["loss_location_zip"]) + "\nzip_avg: " + "$" + str(row_values['zip_avg'])) #show the zip and it's avg
    icon = folium.Icon(color='red')
    marker = folium.Marker(
        title = "Harvey: " + "$" + str(row_values['harvey_avg']),
        location = loc, 
        popup …
Run Code Online (Sandbox Code Playgroud)

html python data-visualization python-3.x folium

2
推荐指数
1
解决办法
4087
查看次数