pandas:resample没有要聚合的数字类型

时间:2017-12-29 15:07:12

标签: python pandas csv resampling

我正在尝试使用pandas来平滑一些数据,但是我遇到了一个错误,告诉我没有要聚合的数字类型。我在互联网上找到了各种解决方案,但我无法解决这个错误。

我正在使用以下网址提供的数据:

http://archive.luftdaten.info/2017-12-01/2017-12-01_sds011_sensor_3687.csv

我用以下内容导入csv:

sensor = pd.read_csv("all.csv", sep=";")

我用

解析时间戳列
sensor["timestamp"] = pd.to_datetime(sensor["timestamp"], infer_datetime_format=True, errors="coerce")

并将时间戳设置为索引

sensor = sensor.set_index("timestamp")

为了简单起见,我提取了一个列

p_1 = sensor["P1"]

我现在想使用以下方法重新采样数据一小时:

p_1.resample("1H").mean()

但这会返回错误:

pandas.core.base.DataError: No numeric types to aggregate

从我收集的搜索错误中,我必须以某种方式将列转换为数值,但我找不到任何能让我使用表格的函数。

编辑:我发现了这个,但我真的不知道如何应用于我的情况: https://stackoverflow.com/a/30660772/9153439

Edit2(已解决):

我可以通过使用

更改sensor中的数据类型来重新取样数据
sensor["P1"] = sensor["P1"].apply(pd.to_numeric, errors='coerce')

我很确定我之前在p_1子集上尝试了此操作,但无法使其正常工作。

0 个答案:

没有答案