首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >应用scipy filter函数后保留pandas行号(使用NANs)

应用scipy filter函数后保留pandas行号(使用NANs)
EN

Stack Overflow用户
提问于 2019-08-09 15:11:44
回答 1查看 86关注 0票数 0

给定pandas数据帧:

代码语言:javascript
运行
AI代码解释
复制
   PT011
0 -0.160
1 -0.162
2    NaN
3 -0.164
4    NaN
5    NaN
6 -0.166
7 -0.167

丢弃NaNs后...:

代码语言:javascript
运行
AI代码解释
复制
signal_PT011:
 0   -0.160
1   -0.162
3   -0.164
6   -0.166
7   -0.167

我应用了scipy.butter函数。我希望保留pandas行号,因为过滤后的数据应该回到新列中的原始pandas数组,并与“旧”行号对齐。当我应用scipy.butter函数时,我得到了没有行数的列表:

代码语言:javascript
运行
AI代码解释
复制
Filtered signal PT011:
 [-3.86174478e-05 -1.91854502e-04 -4.94647878e-04 -9.42136953e-04
 -1.52929127e-03]

作为我期望的效果,输出pandas dataframe:

代码语言:javascript
运行
AI代码解释
复制
Expected output:
    PT011  signal_PT011_filtered
0 -0.160  -3.86174478e-05
1 -0.162  -1.91854502e-04
2    NaN              NaN
3 -0.164  -4.94647878e-04
4    NaN              NaN
5    NaN              NaN
6 -0.166  -9.42136953e-04
7 -0.167  -1.52929127e-03

下面是我的完整代码:

代码语言:javascript
运行
AI代码解释
复制
import pandas as pd
import numpy as np
from scipy import signal
from scipy.signal import butter, lfilter

probes = {'PT011': [-0.16,-0.162,np.NaN,-0.164,np.NaN,np.NaN,-0.166,-0.167]}
df = pd.DataFrame(probes,columns= ['PT011'])
print(df) # Pandas dataframe

df=df.dropna() #Drop NaNs
signal_PT011=df.loc[:,'PT011']

print("Type of signal is:\n",type(signal_PT011)) # Pandas series
print("signal_PT011:\n",signal_PT011)

def butter_lowpass(cutoff, fs, order=2):
    nyq = 0.5 * fs
    normal_cutoff = cutoff / nyq
    b, a = butter(order, normal_cutoff, btype='low', analog=False)
    return b, a

def butter_lowpass_filter(data, cutoff, fs, order=2):
    b, a = butter_lowpass(cutoff, fs, order=order)
    y = lfilter(b, a, data)
    return y

order = 2
fs = 100.0       # sample rate, Hz 
cutoff = 0.5  # desired cutoff frequency of the filter, Hz

signal_PT011_filtered = butter_lowpass_filter(signal_PT011, cutoff, fs, order) # Execute function to filter data:
print("Filtered signal PT011:\n",signal_PT011_filtered)

我该怎么办?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-09 15:20:48

使用您的过滤函数的索引作为提供的索引的输入创建一个新的系列:

代码语言:javascript
运行
AI代码解释
复制
input_to_filter = ...  # however it is you acquire it
output_of_filter = ...
new_output = pd.Series(output_of_filter, index=input_to_filter.index)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57432899

复制
相关文章
Excel 保留行号的去重
遇到这个问题第一个念头是用脚本来做,虽然 VBA 编辑很方便,也肯定能解决,但是总觉得还是不如 Excel 本身提供的操作方便。
mzlogin
2020/04/16
8390
Excel 保留行号的去重
遇到这个问题第一个念头是用脚本来做,虽然 VBA 编辑很方便,也肯定能解决,但是总觉得还是不如 Excel 本身提供的操作方便。
零式的天空
2022/03/28
4720
GitHub排名前20的Pandas, NumPy 和SciPy函数
选文|姚佳灵 翻译|田晋阳 校对|姚佳灵 大数据文摘编辑作品 转载具体要求见文末 编者按:由于文中提到的内容太多,建议大家在阅读前看下完整的内容,欢迎大家在评论区讨论留言,点击阅读全文即可查看完整内容! 几个月前,我看到一篇博文根据Github上的实例,列出了一些最流行的python库中最常用的函数/模块。我已将这些结果做了可视化并写下每个库中排名前10的例子。 我在下文中列举了一些,完整版本可以在IPython notebook文件中获得(链接地址https://github.com/agal
大数据文摘
2018/05/22
9820
scipy.sparse、pandas.sparse、sklearn稀疏矩阵的使用
单机环境下,如果特征较为稀疏且矩阵较大,那么就会出现内存问题,如果不上分布式 + 不用Mars/Dask/CuPy等工具,那么稀疏矩阵就是一条比较容易实现的路。
悟乙己
2021/12/07
1.9K0
scipy.sparse、pandas.sparse、sklearn稀疏矩阵的使用
如何使用Python的filter函数
Python内置的filter()函数能够从可迭代对象(如字典、列表)中筛选某些元素,并生成一个新的迭代器。可迭代对象是一个可以被“遍历”的Python对象,也就是说,它将按顺序返回各元素,这样我们就可以在for循环中使用它。
老齐
2020/11/04
5K0
如何使用Python的filter函数
本文转自“老齐教室”,为你列举了filter()函数的不同使用方法。 介绍 Python内置的filter()函数能够从可迭代对象(如字典、列表)中筛选某些元素,并生成一个新的迭代器。可迭代对象是一个可以被“遍历”的Python对象,也就是说,它将按顺序返回各元素,这样我们就可以在for循环中使用它。 filter()函数的基本语法是: filter(function, iterable) 返回一个可迭代的filter对象,可以使用list()函数将其转化为列表,这个列表包含过滤器对象中返回的所有的项。 f
博文视点Broadview
2023/05/19
1.1K0
如何使用Python的filter函数
Python数据科学安装Numby,pandas,scipy,matpotlib等(IPython安装pandas)
摘要总结:本教程是安装二进制文件,以Windows10 64位操作系统为例,但是二进制文件对应其他Linux和mac os也同样试用。在开始安装之前,请注意以下前提条件。否则,会出现各种问题。在开始安装之前,请确定要安装的科学栈为目的科学栈(如想安装pandas),并确定要安装科学栈需要的前提(如需要NumPy,dateutil,pytz,setuptools)。然后安装目的科学栈。实际安装实例(以Windows10 64位下安装pandas为例):1.下载pandas对应的机器位数和Python版本。2.查看需要的前提。3.安装pandas二进制文件。如此,你可以安装任意的Numby,pandas,scipy,matpotlib等科学栈,只要根据提示安装前提的依赖即可顺利安装!
王小雷
2018/01/08
1.3K0
pandas使用技巧-爆炸函数使用
Pandas使用技巧-实现爆炸函数 本文中记录的是如何使用pandas来实现hive中爆炸函数的功能 具体需求 统计每个员工的销售记录: 有作为销售员、跟单员、结单员的任意一种,即可说明参与了该订单的
皮大大
2021/04/01
1.6K0
Excel函数之查找班别的起始行号与结束行号
A列村里是“班别”是有901-913,我想知道901-913它们的起始行号与结束行号
哆哆Excel
2022/10/25
1.3K0
Excel函数之查找班别的起始行号与结束行号
Scipy使用简介
Scipy中的special模块是一个非常完整的函数库,其中包含了基本数学函数,特殊数学函数以及numpy中所出现的所有函数。伽马函数是概率统计学中经常出现的一个特殊函数,它的计算公司如下:
用户3577892
2020/09/18
2.2K0
Python filter()函数
Python filter()函数 filter()函数顾名思义,就是过滤器,它是Python内置的高级函数之一。 filter()函数接收2个参数,一个是用来筛选的谓词函数(即返回值是True或者False的函数)和一个序列。filter()函数将使用谓词函数对所有序列中的元素进行处理,保留其中返回值是True的元素,以filter类型的对象保存。 格式: filter(function, iterable) 用法示例: #!usr/bin/env python3 #_*_ coding:
Steve Wang
2018/02/05
1.7K0
python: filter 函数
python2 中, filter 返回 的是 list型 。 python3 中, filter 返回 的是 filter object(filter对象)。需要再加上 转list 操作才能达到 python2下的效果。
JNingWei
2018/09/28
7330
3个Pandas高频使用函数
本文主要是给大家介绍3个Pandas日常高频使用函数:apply + agg + transform。
lyhue1991
2023/02/23
6200
3个Pandas高频使用函数
Pandas函数使用-nlargest-nsmallest
官网地址:https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.nsmallest.html
皮大大
2023/08/25
2700
3个高频使用Pandas函数
本文主要是介绍3个Pandas中很实用的函数:apply + agg + transform
皮大大
2023/08/25
1600
filter函数和map函数
filter()函数接收一个函数 f 和一个可迭代对象,这个函数 f 的作用是对每个元素进行判断,返回 True或 False,filter()根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成的filter对象(一个迭代器)。
用户1214487
2022/03/26
5390
盘点一道使用pandas.merge()和pandas.join()函数实战应用题目
前几天Python铂金有个叫【Lee】的粉丝问了一个数据分析的问题,这里拿出来给大家分享下。
Python进阶者
2022/06/05
3990
盘点一道使用pandas.merge()和pandas.join()函数实战应用题目
Pandas的函数应用处理缺失数据
Pandas的函数应用 apply 和 applymap 1. 可直接使用NumPy的函数 示例代码: # Numpy ufunc 函数 df = pd.DataFrame(np.random.randn(5,4) - 1) print(df) print(np.abs(df)) 运行结果: 0 1 2 3 0 -0.062413 0.844813 -1.853721 -1.980717 1 -0.539628 -1.975173
王小婷
2018/06/04
9920
原创译文 | 最新顶尖数据分析师必用的15大Python库(上)
近几年来,Python在数据科学界受到大量关注,我们在这里为数据科学界的科学家和工程师列举出了最顶尖的Python库。(文末更多往期译文推荐) 因为这里提到的所有的库都是开源的,所以我们还备注了每个库的贡献资料数量、贡献者人数以及其他指数,可对每个Python库的受欢迎程度加以辅助说明。 1. NumPy (资料数量:15980; 贡献者:522) 在最开始接触Python的时候,我们不可避免的都需要寻求Python的SciPy Stack的帮助,SciPy Stack是一款专为Python中科学计算而设
灯塔大数据
2018/04/04
1.7K0
原创译文 | 最新顶尖数据分析师必用的15大Python库(上)
点击加载更多

相似问题

使用应用函数避免nans

223

使用dict重新映射pandas列中的值,保留NaNs

973

SciPy "lfilter“只返回NaNs

14

pandas插值后剩余的NaNs

19

在pandas中保留NaNs的同时删除重复项

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

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