Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用Pandas进行去异常的矢量法

用Pandas进行去异常的矢量法
EN

Stack Overflow用户
提问于 2018-07-04 04:56:44
回答 1查看 165关注 0票数 4

dataframe中的每一列(c)都包含一个包含一些极端异常值的时间序列值,其目标是删除这些值并替换以前看到的值。

下面的代码可以正常工作,但是非常慢,因为我总共需要对7个不同的列和59个数据文件运行这个操作。是否存在将此操作矢量化或以另一种方式使其更快的操作?

用以前看到的值代替异常值并不是一个真正的选择,因为这会干扰数据的时间序列性质。

代码语言:javascript
运行
AI代码解释
复制
for c in df.columns:
    if c == "date":
        continue
    for i in range(len(dfn)):
        if dfn[c].iloc[i] > 5*np.mean(dfn[c]):
            dfn[c].iloc[i] = dfn[c].iloc[i-1]
    end_df = end_df.append(dfn)

孤立点删除替换的示例输入:

代码语言:javascript
运行
AI代码解释
复制
[10, 28, 39, 48193, 14]

异常值删除替换的示例输出:

代码语言:javascript
运行
AI代码解释
复制
[10, 28, 39, 39, 14]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-04 05:06:26

您可以根据您希望的条件(在本例中为平均值的5倍)筛选数据,并使用nan替换。然后,您可以使用内置的pandas函数fillna来替换前面看到的值。

然后,您的代码将是

代码语言:javascript
运行
AI代码解释
复制
import numpy as np

for c in df.columns:
    if c == "date":
        continue
    df.loc[df[c] > 5 * df[c].mean(), c] = np.nan
    df[c].fillna(method='ffill', inplace=True)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51174254

复制
相关文章
用pandas 进行投资分析
让我们进行一个常见的分析,您可能自己就可以完成这个分析。假设您想分析股票绩效,那么您可以: 在 Yahoo 金融专区找一支股票。 下载历史数据,保存为 CSV 文件格式。 将 CSV 文件导入 Excel。 进行数学分析:回归、描述性统计或使用 Excel Solver 工具进行线性优化。 很好,但本文为您展示一种更简单、更直观、功能更强大的方法,使用 IPython 和 pandas 进行同种分析。 工具准备 IPython 库是使用 Python 的数据科学家的重要工具之一。该工具与 Excel 的最
机器学习AI算法工程
2018/03/12
1.2K0
用pandas 进行投资分析
用Python进行美丽而轻松的绘图— Pandas + Bokeh
尽管Matplotlib可以满足我们在Python中绘制图形时的所有需求,但有时使用它创建漂亮的图表有时会很耗时。好吧,有时候我们可能想向老板展示一些东西,以便拥有一些漂亮且互动的情节。 有很多出色的库可以做到这一点,Bokeh就是其中之一。但是,可能还需要一些时间来学习如何使用此类库。实际上,已经有人为我们解决了这个问题。这是一个名为的库Pandas-Bokeh,该库直接使用Pandas并使用Bokeh渲染数据。语法非常简单,我相信您可以立即开始使用它!
用户2966292
2021/04/21
2.3K0
《Pandas Cookbook》第11章 用Matplotlib、Pandas、Seaborn进行可视化
一章内容介绍三块内容,感觉哪个都没说清。 In[1]: import pandas as pd import numpy as np import matplotlib.pyplot as plt %matplotlib inline 1. matplotlib入门 Matplotlib提供了两种方法来作图:状态接口和面向对象。 # 状态接口是通过pyplot模块来实现的,matplotlib会追踪绘图环境的当前状态 # 这种方法适合快速画一些简单
SeanCheney
2018/11/29
1.7K0
《Pandas Cookbook》第11章 用Matplotlib、Pandas、Seaborn进行可视化
用 Pandas 进行数据处理系列 二
获取行操作df.loc[3:6]获取列操作df['rowname']取两列df[['a_name','bname']] ,里面需要是一个 list 不然会报错增加一列df['new']=list([...])对某一列除以他的最大值df['a']/df['a'].max()排序某一列df.sorted_values('a',inplace=True,ascending=True) , inplace 表示排序的时候是否生成一个新的 dataFrame , ascending=True 表示升序,默认为升序,如果存在缺失的补值( Nan ),排序的时候会将其排在末尾
zucchiniy
2019/10/30
8.3K0
用LUA字典进行IP数据去重操作
因为业务需要,监控手机客户端对服务器在一分钟内请求的总数和IP访问量(求PV、IP数),要对IP数据进行去重操作,单位时间1分钟的HTTP请求,IP相同的只保留一个IP,少用IF,多用循环。利用Lua语言Table数据结构Key的唯一性,不能重复的特点进行去重操作,代码如下:
糖果
2019/11/20
8420
冒泡排序法c语言代码_用冒泡法对数组a进行排序
选择法排序是指:如果要把一个数组从小到大排列,那么就从该数组中依次选择最小的数字来排序。从第一个数字开始,将第一个数字与数组中剩下数字中最小的那一个交换位置,然后将第二个数字与剩下数字中最小的那个交换位置,以此类推,直到最后一个数字。 例如输入数组{7,5,4,8,6,2,3} 第一次排序通过查找最小的数字,交换7与2的位置;第二次查找5后面最小的数字,找到了3,交换5与3的位置;第三次查找4之后最小的数字,发现并没有数字比4小,交换4与4的位置(相当于没有改变);第四次查找8后面最小的数字5,交换8与5的位置。
全栈程序员站长
2022/09/30
1.6K0
pandas excel合并去重
一、概述 现有一个excel文件examples.xlsx,内容如下: 合并去重后,效果如下: 那么需求如下: 公司去重,保留一个 多个地区合并为一行,用逗号隔开 收入进行累计计算 最后将统计结果
py3study
2020/12/31
1.1K0
pandas excel合并去重
Pandas异常值处理
import pandas as pd #生成异常数据 df=pd.DataFrame({'col1':[1,120,3,5,2,12,13], 'col2':[12,17,31,53,22,32,43]}) print(df) col1 col2 0 1 12 1 120 17 2 3 31 3 5 53 4 2 22 5 12 32 6 13 43 df_zscore=
hankleo
2020/09/17
5660
用自编码器进行图像去噪
在深度学习中,自编码器是非常有用的一种无监督学习模型。自编码器由encoder和decoder组成,前者将原始表示编码成隐层表示,后者将隐层表示解码成原始表示,训练目标为最小化重构误差,而且一般而言,隐层的特征维度低于原始特征维度。 自编码器只是一种思想,在具体实现中,encoder和decoder可以由多种深度学习模型构成,例如全连接层、卷积层或LSTM等,以下使用Keras来实现用于图像去噪的卷积自编码器。 1 结果 先看一下最后的结果,使用的是手写数字MNIST数据集,上面一行是添加噪音的图像,下面一
张宏伦
2018/06/07
1.3K0
如何用正确的姿势去高效的解决前端异常,用实践造就答案
前端一直是距离用户最近的一层,随着产品的日益完善,我们会更加注重用户体验,而前端异常却如鲠在喉,甚是烦人。
挨踢小子部落阁
2019/07/02
1.1K0
如何用正确的姿势去高效的解决前端异常,用实践造就答案
简单好用!教你用Pandas 读取异常数据结构 Excel!
通常情况下,我们使用 Pandas 来读取 Excel 数据,可以很方便的把数据转化为 DataFrame 类型。但是现实情况往往很骨干,当我们遇到结构不是特别良好的 Excel 的时候,常规的 Pandas 读取操作就不怎么好用了,今天我们就来看两个读取非常规结构 Excel 数据的例子
程序员小二
2021/12/22
1K0
简单好用!教你用Pandas 读取异常数据结构 Excel!
数据城堡参赛代码实战篇(二)---使用pandas进行数据去重
小编们最近参加了数据城堡举办的“大学生助学金精准资助预测”比赛,分组第19名的成绩进入了复赛,很激动有木有!在上一篇文章中,小编带你使用pandas并结合官方给出的一卡通消费数据一步步计算得到了每个同学的恩格尔系数,主要介绍了groupby()和pivot_table()两个方法。虽然有些地方写的不成熟,但是仍然收获了很多的肯定和鼓励,这也是小编再接再厉继续完成本系列的动力,谢谢大家!本篇,小编文文将带你探讨pandas在数据去重中的应用。 1 上期回顾 1.1 groupby groupby用于对pand
石晓文
2018/04/11
1.4K0
开发实践,怎么用Lambda进行list合并以及去重
在实际开发中可以使用Lambda表达式对两个List进行合并和去重操作。假设有两个List,分别为list1和list2,并且这两个List中存储的元素类型相同,那么您可以使用下面的Lambda表达式实现合并和去重的操作:
用户1289394
2023/08/22
6330
开发实践,怎么用Lambda进行list合并以及去重
Pandas数据框去重复(AB、BA类型)
从string-db下载蛋白质相互作用的信息,在处理时发现蛋白A与B互作被记录了两次比如下边的例子(即AB、BA)
生信探索
2023/05/24
6430
使用pandas进行文件读写
pandas是数据分析的利器,既然是处理数据,首先要做的当然是从文件中将数据读取进来。pandas支持读取非常多类型的文件,示意如下
生信修炼手册
2020/06/24
2.2K0
使用pandas进行文件读写
pandas进行数据分析
案例 这里只是展示方法,用到数据只有15行 案例数据 导入模拟数据 import pandas as pd import numpy as np data = pd.read_excel('模拟数据.xlsx') data.head() 导入模拟数 查看数据行、列 len(data) #数据行数 len(data.columns) #数据列数 data.info() #数据各列详细信息 data.describe() #默认,值统计数值型列 data.describe(inclu
派大星在吗
2021/12/06
1.5K0
pandas进行数据分析
懂编程语言最开始是属于程序猿的世界,现在随着国内人们受教育程度的提升、互联网科技的发展,业务人员也开始慢慢需要懂编程语言。从最近几年的招聘需求看,要求会Python则成为刚需。
花落花相惜
2021/11/26
1.4K0
pandas | 使用pandas进行数据处理——Series篇
上周我们关于Python中科学计算库Numpy的介绍就结束了,今天我们开始介绍一个新的常用的计算工具库,它就是大名鼎鼎的Pandas。
TechFlow-承志
2020/07/02
1.4K0
HashMap的为啥用尾插法?
关于HashMap链表插入问题,java8之前之前是头插法 头插法:就是说新来的值会取代原有的值,原有的值就顺推到链表中去,就像上面的例子一样,因为写这个代码的作者认为后来的值被查找的可能性更大一点,提升查找的效率。 在java8之后,都是所用尾部插入了。 效
名字是乱打的
2021/12/22
2.4K0
HashMap的为啥用尾插法?
点击加载更多

相似问题

对元素进行矢量法

13

用Pandas对函数进行矢量化以复制行

13

如何使用sklearn的CountVectorizer进行矢量化和去矢量化?

27

用opencv进行去噪

15

使用Pandas进行矢量化

116
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档