【发布时间】:2020-12-23 08:06:10
【问题描述】:
亲爱的:我有一组二维数组,如下所示。前3列是点的xyz坐标,第三列是点到中心的距离。
array([[-1.01742668e+01, 6.89185798e-01, 1.17535509e-01,
2.02460059e+03],
[-1.00412054e+01, 6.97973669e-01, -5.14677428e-02,
2.02460887e+03],
[-9.89616013e+00, 6.80048764e-01, 1.06134348e-01,
2.02459041e+03],
...,
[-9.60342407e+01, -2.03417969e+00, -3.64747904e-02,
2.02402794e+03],
[-9.71151733e+01, -2.02474523e+00, 5.34135802e-03,
2.02408764e+03],
[-9.60278931e+01, -2.04594707e+00, -4.45659012e-02,
2.02401589e+03]])
我想知道有什么方法可以删除与红圈中的 bin 相关联的数据点?
目前我尝试的是以下代码。
c_dist=np.asarray(c_dist)
hist, bins = np.histogram(c_dist[:,3], bins=100)
# Threshold frequency
freq = 100
# Zero out low values
hist[np.where(hist <= freq)] = 0
# Plot
width = 0.7 * (bins[1] - bins[0])
center = (bins[:-1] + bins[1:]) / 2
plt.bar(center, hist, align='center', width=width)
# plt.yticks(np.arange(min(hist), max(hist)+1, 10))
plt.title("Center to Point Distance")
plt.xlabel("Distance")
plt.ylabel("Count")
d = np.digitize(c_dist[:,3], bins)
得到下图。
但是,该方法似乎只删除了图中不需要的 bin,无法删除原始数据集中的关联数据点。
谁能帮我解决这个问题?非常感谢您的大力帮助和支持。
【问题讨论】:
-
您的意思是无法删除关联的数据点??您已将它们归零。您要删除它们吗?
-
您正在编辑基于频率过滤器的
hist数组。如果要编辑原始数据,请过滤c_dist数组。此外,请遵循指南并提供mive。
标签: python numpy matplotlib