повторная выборка данных внутри групповой операции dask - PullRequest
0 голосов
/ 02 сентября 2018

Измерения качества воздуха необходимо пересмотреть, прежде чем можно будет делать выводы о нарушениях. Получив исторические данные из openaq через Amazon Athena, я сейчас сижу перед большим (339 МБ) файлом, который я хотел бы пересчитать по группам. Так что мой код по сути такой:

import dask.dataframe as dd

df = dd.read_csv('chile.csv', encoding='latin-1')
gdf = df.groupby(['city','location','parameter']).apply(parseval)

где parseval - это функция, которая повторно выбирает и считает неправильные экземпляры:

def parseval(data):
    whoma = {'pm25': 25, 'pm10': 50, 'so2': 100, 
             'o3':100, 'no2': 200, 'co': 100}
    data = data.resample('12h')
    data['bad'] = [1 if drow['value']>whoma[drow['parameter']] else 0 
                        for _,drow in data.iterrows()]
return data.bad.mean()

Это, однако, не с ошибкой

TypeError («Действует только с DatetimeIndex, TimedeltaIndex или PeriodIndex, но получил экземпляр Int64Index»,) ​​

Что мне не хватает? Мои данные выглядят так:

"дата", "город", "место", "параметр", "значение" "2015-09-23T10: 00: 00-03: 00", "Уальпен", "Джунджи", "pm10", "31,44" "2015-09-23T10: 00: 00-03: 00", "Talcahuano", "Индура", "совместное", "2521,0" "2015-09-23T10: 00: 00-03: 00", "Токопилья", "Bomberos", "PM25", "23,53" "2015-09-23T09: 00: 00-03: 00", "Калама", "Estación Centro", "pm25", "11.64" "2015-09-23T13: 00: 00-03: 00", "Tocopilla", "Escuela E-10", "pm25", "13.12"

...