Python 如何去除数据帧中不符合阈值的值(然后绘制)
我想知道,一个人怎么能只画出在大熊猫散射中高于某个阈值的点? 假设我有这样的数据框架——我有两个数据集,我计算了它们之间的差异(列“差异”),然后根据数据集1中的数字是否更高,我给它参数“True”,如果数据集2中的数字更高,我给它参数“False”,最后是原子数(“atom”): 然后,我绘制数据帧,根据ARG是真还是假,在点上色的地方进行散射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
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]