gpt4 book ai didi

python - 在 Pandas 中使用不同的指标(倾斜)每小时聚合数据

转载 作者:行者123 更新时间:2023-12-01 02:13:09 25 4
gpt4 key购买 nike

我有一个从传感器数据获得的大型数据表,如下所示:

    Code                             A1    A2  A3 ... AB40
Time
2000-01-01 00:00:10.730 NaN 1 NaN NaN
2010-01-01 00:00:12.730 1 2 3 NaN

在一段时间内没有与设备关闭时间相关的可用数据。我想每隔一小时汇总一次数据。我使用了以下代码:

telemetry_mean=pd.pivot_table(Telemetry,  index='Time').resample('1H').mean().dropna(how='all')
telemetry_mean=pd.pivot_table(Telemetry, index='Time').resample('1H').std().dropna(how='all')
# renaming the columns
telemetry_mean.columns = [i + 'mean_5T' for i in list(telemetry_mean)]
telemetry_std.columns = [i + 'Std_5T' for i in list(telemetry_std)]
telemetry_feat = pd.concat([ telemetry_mean, telemetry_std]

我无法应用相同的方法来根据给定的时间窗口获取信号的偏斜度量或峰度度量,并且我得到不同的结构:

telemetry_Skew=pd.pivot_table(Telemetry,  index='Time').resample('1H').skew().dropna(how='all')

输出

Code
A1 0.762252
A2 0.021107
A3 -1.035745
A4 0.578501

我在这里缺少什么?

我还想知道是否有更优雅的方法来在一次数据引用中计算所有这些统计指标(由于数据的庞大性质)。所以对于例如相反,我可以对每个统计数据使用 `telemetry_Skew=pd.pivot_table(Telemetry, index='Time').resample('1H').skew().dropna(how='all') 表示,std 和 ...在一次对数据的引用中。

如果有人能帮助我,我将不胜感激。

谢谢

更新

我正在寻找的输出采用这种格式

                                     A1                A2      ........ AB40      
Time mean std skew mean std skew
2000-01-01 00:00:00.00 1 2 0 2 1 9
.
.
.
2010-01-01 00:01:00.00 1 2 3 1 0 1

我随机填写了平均值、标准差、偏度来进行描述

最佳答案

你可以尝试这样的事情。听起来简单得多,但我不确定它是否能满足您的需求。

# setting the time as index
df = df.set_index('Time')
# grouping by hour
grouped = df.groupby(df.index.hour)
# computing various stats
grouped = grouped.agg(['std', 'mean', 'skew']).transpose().unstack()
# cosmetics dropping a useless column level
grouped.columns = grouped.columns.droplevel()

grouped

# std mean skew
# A1 NaN 1.0 NaN
# A2 0.707107 1.5 NaN
# A3 NaN 3.0 NaN
# AB40 NaN NaN NaN

替代方案

从 pandas 0.20 开始,您可以直接在 DataFrame 上使用 agg 来计算各种统计数据。查看详情here 。对于您正在尝试做的事情来说,应该值得考虑它。

df.agg(['std', 'mean', 'skew']).transpose()

# std mean skew
# A1 NaN 1.0 NaN
# A2 0.707107 1.5 NaN
# A3 NaN 3.0 NaN
# AB40 NaN NaN NaN

关于python - 在 Pandas 中使用不同的指标(倾斜)每小时聚合数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48590694/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com