Python 如何对具有多个信号的数据帧进行重采样

Python 如何对具有多个信号的数据帧进行重采样,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个熊猫数据帧,df_phys,结构如下面的示例所示。我想将所有信号(在本例中为EngineSpeed和WheelBasedVehicleSpeed)重新采样到1秒的频率。我可以通过一个信号一个信号的循环来实现,如下所示: for signal, group in df_phys.groupby("Signal")["Physical Value"]: df_signal = group.to_frame()

我有一个熊猫数据帧,
df_phys
,结构如下面的示例所示。我想将所有信号(在本例中为
EngineSpeed
WheelBasedVehicleSpeed
)重新采样到1秒的频率。我可以通过一个信号一个信号的循环来实现,如下所示:

for signal, group in df_phys.groupby("Signal")["Physical Value"]:
            df_signal = group.to_frame()
            df_signal = df_signal.resample("1S").pad().dropna()
但是,我更喜欢对整个数据帧进行重采样(物理值为应重采样的值,而不是在逐个信号循环中进行重采样)。这有可能实现吗


df_phys数据结构(预重采样)


似乎您正在尝试使用
groupby
对数据重新采样。如果这是您的意图,您可以在将
时间戳
设置为索引时,简单地对
groupby
对象重新采样:

import pandas as pd
df_phys = pd.read_csv("test.txt", sep = ",", parse_dates=["TimeStamp"], index_col="TimeStamp")

df_res = df_phys.groupby("Signal").resample("1S").mean()

print(df_res)
样本输出:

                                                       CAN ID  ...  Physical Value
Signal                 TimeStamp                               ...                
EngineSpeed            2020-01-13 14:47:09+00:00  217056256.0  ...     1611.907895
                       2020-01-13 14:47:10+00:00  217056256.0  ...     1511.250000
WheelBasedVehicleSpeed 2020-01-13 14:47:09+00:00  419361024.0  ...       19.160156
                       2020-01-13 14:47:10+00:00  419361024.0  ...       20.398438

[4 rows x 5 columns]

似乎您正在尝试使用
groupby
对数据重新采样。如果这是您的意图,您可以在将
时间戳
设置为索引时,简单地对
groupby
对象重新采样:

import pandas as pd
df_phys = pd.read_csv("test.txt", sep = ",", parse_dates=["TimeStamp"], index_col="TimeStamp")

df_res = df_phys.groupby("Signal").resample("1S").mean()

print(df_res)
样本输出:

                                                       CAN ID  ...  Physical Value
Signal                 TimeStamp                               ...                
EngineSpeed            2020-01-13 14:47:09+00:00  217056256.0  ...     1611.907895
                       2020-01-13 14:47:10+00:00  217056256.0  ...     1511.250000
WheelBasedVehicleSpeed 2020-01-13 14:47:09+00:00  419361024.0  ...       19.160156
                       2020-01-13 14:47:10+00:00  419361024.0  ...       20.398438

[4 rows x 5 columns]