小编Ras*_*ang的帖子

从 Seaborn regplot 中提取均值和置信区间

鉴于 regplot 计算间隔和引导程序中的平均值来查找每个箱的置信区间,因此必须手动重新计算它们以进行进一步研究似乎是一种浪费,因此:

问题:如何访问正则图的计算平均值和置信区间?

示例:此代码生成一个漂亮的 bin 均值与 CI 的图:

import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt

# just some random numbers to get started
fig, ax = plt.subplots()
x = np.random.uniform(-2, 2, 1000)
y = np.random.normal(x**2, np.abs(x) + 1)

# Manual binning to retain control
binwidth=4./10
x_bins=np.arange(-2+binwidth/2,2,binwidth)
sns.regplot(x=x, y=y, x_bins=x_bins, fit_reg=None)
plt.show()
Run Code Online (Sandbox Code Playgroud)

结果: Regplot 显示分箱数据 w。CI

并不是说按箱计算平均值并不容易,而是 CI 是使用随机数计算的。最好能够访问与绘制的完全相同的数字,那么我如何访问它们呢?一定有某种我忽略的 get_* 方法。

python matplotlib seaborn

5
推荐指数
1
解决办法
3485
查看次数

如何(巧妙地)遍历 GeoDataframe 中的所有点并查看最近的邻居

我有一个大(O(10^6)行)数据集(带值的点),我需要对所有点执行以下操作:

  • 在预定义的半径内找到 3 个最近的点。
  • 计算这三个点的关联值的平均值。
  • 将平均值保存到我正在查看的点

“非矢量化”方法是简单地循环所有点......对于所有点,然后应用逻辑。然而,这扩展性很差。

我已经包含了一个可以完成我想要的玩具示例。我已经考虑过的想法是:

  • 使用 shapely.ops.nearest_points:然而,这似乎只返回一个最近的点。
  • 在每个单独的点周围进行缓冲并与原始 GeoDataframe 进行连接:这似乎比天真的方法更糟糕。

这是我要实现的逻辑的一个玩具示例:

import pandas as pd
import numpy as np
from shapely.wkt import loads
import geopandas as gp

points=[
    'POINT (1 1.1)', 'POINT (1 1.9)', 'POINT (1 3.1)',
    'POINT (2 1)', 'POINT (2 2.1)', 'POINT (2 2.9)',
    'POINT (3 0.8)', 'POINT (3 2)', 'POINT (3 3)'
]
values=[9,8,7,6,5,4,3,2,1]

df=pd.DataFrame({'points':points,'values':values})
gdf=gp.GeoDataFrame(df,geometry=[loads(x) for x in df.points], crs={'init': 'epsg:' + str(25832)})

for index,row in gdf.iterrows(): # Looping over all points
    gdf['dist'] …
Run Code Online (Sandbox Code Playgroud)

python pandas shapely geopandas

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

标签 统计

python ×2

geopandas ×1

matplotlib ×1

pandas ×1

seaborn ×1

shapely ×1