程序问答   发布时间:2022-05-31  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何计算groupby()之后的曲线下面积(积分)?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决如何计算groupby()之后的曲线下面积(积分)??

开发过程中遇到如何计算groupby()之后的曲线下面积(积分)?的问题如何解决?下面主要结合日常开发的经验,给出你关于如何计算groupby()之后的曲线下面积(积分)?的解决方法建议,希望对你解决如何计算groupby()之后的曲线下面积(积分)?有所启发或帮助;

我有一个循环运行的机器的数据集。我想从机器运行每个周期期间发生的时间序列中提取特征。

然后我使用 groupby() 来收集每个周期的数据。现在我想使用 np.trapz() 来获取曲线下的区域,但我得到了堆栈。

如果你知道其他更简单的方法,对我来说也很好。

数据如下:


data = {'date_time':['2017-03-22 10:07','2017-03-23 10:08','2017-03-24 10:09','2017-03-25 10:10','2017-03-26 10:11','2017-03-27 10:12','2017-03-28 10:13','2017-03-29 10:14','2017-03-22 10:15','2017-03-22 10:16','2017-03-22 10:17','2017-03-22 10:18','2017-03-22 10:19','2017-03-22 10:20','2017-03-22 10:21','2017-03-22 10:22','2017-03-22 10:23','2017-03-22 10:24','2017-03-22 10:25','2017-03-22 10:26','2017-03-22 10:27','2017-03-22 10:28','2017-03-22 10:29','2017-03-22 10:30'],'production_line_no':[1,1,2,1],'var1':[20,21,4,18,20,10,6,9,8,3,7,21],'var2':[20,19,11,'running':[0,1]
       }

df=pd.DataFrame(data)

现在我像这样为每个周期计算几个聚合,并且效果很好:


# Convert date time String to datetiR_534_11845@e type
df['date_time']= pd.to_datetiR_534_11845@e(df['date_time'],format='%Y-%m-%d %H:%M')

# Create cycle_ID to differenciate the different cycles and prepare the use of groupby() + agg()
df['cycle_ID']=df['running'].diff().abs().cumsum()*df['running']

# define agg type Pandas built-in
aggregations = {
    'var1':['std','min'],'var2':['std','date_time':[lambda x:(max(X) - min(X)).days,'min','max']
}

# Create the gouped object
grouped=df.groupby(by=['cycle_ID','production_line_no'],as_index=falsE).agg(aggregations)
grouped

这是输出: df of aggregations

现在我想为每个变量添加一个新特征,即曲线下的面积。我尝试使用 groupby() + np.trapz() 但我卡住了。

grouped_area=df.groupby(by=['cycle_ID',as_index=falsE).apply(lambda x: np.trapz(x,dx=1.0))

我收到了那个错误:ValueError: CAnnot add integral value to timestamp without freq.

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

大佬总结

以上是大佬教程为你收集整理的如何计算groupby()之后的曲线下面积(积分)?全部内容,希望文章能够帮你解决如何计算groupby()之后的曲线下面积(积分)?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: