Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.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_Pandas_Dataframe_Matplotlib - Fatal编程技术网

Python 如何去除数据帧中不符合阈值的值(然后绘制)

Python 如何去除数据帧中不符合阈值的值(然后绘制),python,pandas,dataframe,matplotlib,Python,Pandas,Dataframe,Matplotlib,我想知道,一个人怎么能只画出在大熊猫散射中高于某个阈值的点? 假设我有这样的数据框架——我有两个数据集,我计算了它们之间的差异(列“差异”),然后根据数据集1中的数字是否更高,我给它参数“True”,如果数据集2中的数字更高,我给它参数“False”,最后是原子数(“atom”): 然后,我绘制数据帧,根据ARG是真还是假,在点上色的地方进行散射 df = df.dropna(axis=0) df.plot(x='ATOM', y='Difference', kind='scatter', co

我想知道,一个人怎么能只画出在大熊猫散射中高于某个阈值的点? 假设我有这样的数据框架——我有两个数据集,我计算了它们之间的差异(列“差异”),然后根据数据集1中的数字是否更高,我给它参数“True”,如果数据集2中的数字更高,我给它参数“False”,最后是原子数(“atom”):

然后,我绘制数据帧,根据ARG是真还是假,在点上色的地方进行散射

df = df.dropna(axis=0)
df.plot(x='ATOM', y='Difference', kind='scatter', color=df.ARG.map({True: 'orange', False: 'blue'}))

但是,如果我只对绘制“差值”高于某个阈值的点(原子)感兴趣,会怎么样?例如,差值>=1.15? 当列“差”中的值不满足要求的阈值时,我是否可以删除所有行? 我试过了

但它返回错误:“>=”在“method”和“float”的实例之间不受支持 谢谢你的建议。

答案是切片

首先处理要用作阈值的列(
df['Difference']
),然后使用逻辑向量进行切片(
df[lg]

逻辑向量 df=df[lg] 因此,在一个最简单的工作示例中,您可以得到:

将熊猫作为pd导入
将numpy作为np导入
#创建虚拟数据帧
df=pd.DataFrame(np.random.randint(0100,大小=(100,4)),列=['Col 1','Col 2','Col 4','Col 5'])
#阈值
lg=df['Col 1']>=42
#切片
df[lg]
len(df)
len(df[lg])
100

56


试试这个
df=df[df['Difference']>=0.15]
df = df.dropna(axis=0)
df.plot(x='ATOM', y='Difference', kind='scatter', color=df.ARG.map({True: 'orange', False: 'blue'}))

df = df[df.Difference >= 0.15]