Pandas 重新采样数据并获取平均值

Pandas resampling data and getting the mean

我试图以 1 分钟的间隔对一些数据进行重新采样,并使用平均值来表示该分钟的数据,但我一直收到错误消息:

DataError: No numeric types to aggregate.

如果我尝试 min()max()sum() 它工作正常但不是平均值。

例如:
mdf = mdf.resample('1min').sum() 会工作但不会
mdf = mdf.resample('1min').mean()

我试过使用 转换数据类型,但我不明白该怎么做。 mdf = pd.to_numeric(mdf) 给出以下错误,

TypeError: arg must be a list, tuple, 1-d array, or Series

我的数据框的数据类型都是对象,如下所示:

 - NO                 object
 - NO2                object
 - O3                 object
 - ambHumidity        object
 - ambPressure        object
 - ambTempC           object
 - humidity           object
 - particulatePM1     object
 - particulatePM10    object
 - particulatePM25    object
 - tempC              object

这是数据框的样子

您需要先将数据框所有列中的 dtype 转换为有效数据类型,以便可以使用 mean 等数学函数。

您可以通过apply()方法转换DataFrame的所有列:

df = df.apply(pd.to_numeric)

converting types in pandas