我有以下数据集:
我想删除第一象限和第三象限的数据
有什么建议吗
这是我正在使用的代码:
def circGuass(N,Mean,VAR):
dimension = len(Mean)
a = np.array(Mean)
p = np.random.randn(dimension,N)
h = np.tile(a, (2, N//2))
x = math.sqrt(Var) * p + h
return x
import sys
import math
import numpy as np
import matplotlib.pyplot as plt
M1 = 0
Var = 1
N = 500
Mean = [M1, M1]
X = circGuass(N, Mean, Var)
rowonex= X[0]
rowtwox = X[1]
plt.scatter(rowonex,rowtwox , color='blue', marker='+')
plt.show()
我试图按照下面的代码删除数据,但没有成功
X = X[np.logical_not(np.logical_and(data[:,0] > value, X[:,0] < value))]
部分问题是散点图将每个点成对绘制。这意味着,如果要删除某个点,则必须删除X[0]中的值以及对应索引X[1]中的值
这是你可以利用熊猫的东西。幸运的是,pandas是建立在numpy之上的,并且非常高兴地处理numpy阵列
因为第一和第三象限的点相乘得到负数,第二和第四象限的点相乘得到正数,所以我们可以将两列相乘来决定要保留哪些点。然后我们只从否定的答案中分一杯羹
所以你可以尝试这样的解决方案:
相关问题 更多 >
编程相关推荐