【问题标题】:Crop only -2 standard deviation仅裁剪 -2 标准差
【发布时间】:2020-05-05 18:46:03
【问题描述】:

在下面的直方图中,有一些部分低于 0 和 0 之后的峰值,我想删除它们,所以我想我会删除数据库的 2std 但代码似乎在结尾和开始时删除了 2std .

谢谢。

import pandas as pd
import random as r
import numpy as np


 df = pd.read_csv('D:\\Project\\database\\3-Last\\LastCombineHalf.csv')
df[df.apply(lambda x :(x-x.mean()).abs()<(2*x.std()) ).all(1)]
df.to_csv('D:\\Project\\database\\3-Last\\Removal.csv', index=False)

【问题讨论】:

  • 我在下面提供了答案,但现在我认为您正在寻找通过找到峰值 std_dev 和均值等来消除直方图底部的部分尖峰。这是一个与我不同的问题回答。
  • 你有minimal reproducible example吗?根据@merit_2 的评论,您能否澄清问题/问题是什么?

标签: python python-3.x pandas csv jupyter-notebook


【解决方案1】:

试试这个,

使用.std()获取列的标准差

dev=df['col_name'].std()

然后过滤您在直方图中绘制的数据,

df[df['hist_data']>=2*dev]

虽然在这样的频谱中,我会设置一个 LLD(低级鉴别器)并将其剪掉,类似于上面。

这样,

filtered_data = df[df['hist_data']>=0]

【讨论】:

  • 很抱歉,据我所知,这将编辑直方图的绘制方式,但我的意思是,如果我想编辑数据库本身,然后绘制直方图怎么办?对不起,如果这是你的回答。
猜你喜欢
  • 2017-06-13
  • 1970-01-01
  • 2020-07-30
  • 2012-01-13
  • 2013-10-22
  • 2020-12-13
  • 2020-05-17
  • 1970-01-01
  • 2012-10-21
相关资源
最近更新 更多