我有一个按ID列分组的时间序列数据.

我try 使用以下代码:

def find_peaks_in_group(group):
    peaks, peak_properties = find_peaks(group['RFPower'], prominence=1, height=0.7)
    group['peaks'] = False
    group.loc[peaks, 'peaks'] = True
    group['peak_heights'] = 0.0
    group.loc[peaks, 'peak_heights'] = peak_properties['peak_heights']
    return group

result_df=df.groupby('ID', group_keys=False).apply(find_peaks_in_group)

但是,我收到了一个键错误:

[Int64Index([76116,76134,76146,76150,76155,76161,76165, 76171、76177、76180、76182、76185、76187、76192、76196、76201、76220、 76224、76230、76235、76240、76242、76247、76252、76257、76276、76282、 76286、76292、76295、76297、76302、76307、76337、76348、76350、76362 76364,77324,93723,94851,94855],dtype=‘int64’)]中 [索引]"

我甚至试着go 掉group_keys=False并重新设置索引,但都无济于事. 有什么建议吗?

推荐答案

import pandas as pd
import numpy as np
from scipy.signal import find_peaks

def find_peaks_in_group(group):
    # Find peaks
    peaks, peak_properties = find_peaks(group['RFPower'], prominence=1, height=0.7)
    
    # Initialize columns to store peak data
    group['peaks'] = False
    group['peak_heights'] = 0.0
    
    # Use iloc to correctly assign values based on relative indices
    if len(peaks) > 0:
        group.iloc[peaks, group.columns.get_loc('peaks')] = True
        group.iloc[peaks, group.columns.get_loc('peak_heights')] = peak_properties['peak_heights']
    
    return group

# Apply the function to each group
result_df = df.groupby('ID').apply(find_peaks_in_group)

Python相关问答推荐

滚动和,句号来自Pandas列

不理解Value错误:在Python中使用迭代对象设置时必须具有相等的len键和值

如果值不存在,列表理解返回列表

用NumPy优化a[i] = a[i-1]*b[i] + c[i]的迭代计算

Pandas—合并数据帧,在公共列上保留非空值,在另一列上保留平均值

如何在UserSerializer中添加显式字段?

考虑到同一天和前2天的前2个数值,如何估算电力时间序列数据中的缺失值?

Tkinter菜单自发添加额外项目

如何在Python中使用Pandas将R s Tukey s HSD表转换为相关矩阵''

* 动态地 * 修饰Python中的递归函数

基于行条件计算(pandas)

python—telegraph—bot send_voice发送空文件

Python类型提示:对于一个可以迭代的变量,我应该使用什么?

Python—在嵌套列表中添加相同索引的元素,然后计算平均值

PySpark:如何最有效地读取不同列位置的多个CSV文件

SpaCy:Regex模式在基于规则的匹配器中不起作用

使用美汤对维基百科表格进行网络刮擦未返回任何内容

pyspark where子句可以在不存在的列上工作

Django-修改后的管理表单返回对象而不是文本

torch 二维张量与三维张量欧氏距离的计算