Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 基于多个逻辑条件删除数值矩阵行_Python_Numpy - Fatal编程技术网

Python 基于多个逻辑条件删除数值矩阵行

Python 基于多个逻辑条件删除数值矩阵行,python,numpy,Python,Numpy,我有以下数据集: 我想删除第一象限和第三象限的数据 有什么建议吗 这是我正在使用的代码: 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

我有以下数据集:

我想删除第一象限和第三象限的数据

有什么建议吗

这是我正在使用的代码:

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]处的值

这是你可以利用熊猫的东西。幸运的是,熊猫是建立在numpy之上的,并且非常高兴地处理numpy阵列

因为第一个和第三个象限中的点相乘得到负数,第二个和第四个象限中的点相乘得到正数,所以我们可以将这两列相乘来决定要保留哪些点。然后我们只从否定答案中选取一部分

因此,您可以尝试以下解决方案:

作为pd进口熊猫 df=pd.DataFrameX.T转换以便于打印
df=df[df[0]*df[1]您尝试了该功能是什么意思?如果您提供了一些代码和数据,无论是否有效,都会更容易帮助您。我添加了代码!