【问题标题】:Column name disappears after resampling dataframe重新采样数据框后列名消失
【发布时间】:2020-06-24 22:55:11
【问题描述】:

我有一个数据框,我需要在其中每 8 小时计算一次臭氧值的平均值。问题是我进行重采样之后的列('可读时间')消失了,并且在重采样后无法引用。

import pandas as pd
data = pd.read_csv("o3_new.csv")

del data['latitude']
del data['longitude']
del data['altitude']

sensor_name = "o3"

data['readable time'] = pd.to_datetime(data['readable time'], dayfirst=True)

data = data.resample('480min', on='readable time').mean()  # 8h mean
data[str(sensor_name) + "_aqi"] = ""

for i in range(len(data)):
    data[str(sensor_name) + "_aqi"][i] = calculate_aqi(sensor_name, data[sensor_name][i])

print(data['readable time']) #throws KeyError

o3_new.csv 是这样的:

,time,latitude,longitude,altitude,o3,readable time,day
0,1591037392,45.645893,25.599471,576.38,39.4,1/6/2020 21:49,1/6/2020
1,1591037452,45.645893,25.599471,576.64,48.4,1/6/2020 21:50,1/6/2020
2,1591037512,45.645893,25.599471,576.56,53.4,1/6/2020 21:51,1/6/2020
3,1591037572,45.645893,25.599471,576.64,36.4,1/6/2020 21:52,1/6/2020
4,1591037632,45.645893,25.599471,576.73,50.4,1/6/2020 21:53,1/6/2020
5,1591037692,45.645893,25.599471,577.09,37.4,1/6/2020 21:54,1/6/2020

如何在重采样后继续引用“可读时间”列?

【问题讨论】:

    标签: python pandas dataframe datetime keyerror


    【解决方案1】:

    您希望该列包含什么内容? mean 对时间列没有特别好的意义。此外,重采样器使您的 on 列成为索引,因此只需 data.reset_index(inplace=True) 可能会让您开心。

    【讨论】:

      【解决方案2】:

      或者您可以使用data.index 在重新采样后直接访问这些值

      【讨论】:

        猜你喜欢
        • 2020-01-12
        • 1970-01-01
        • 2020-11-18
        • 2019-04-15
        • 1970-01-01
        • 2016-03-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多