Измерения качества воздуха необходимо пересмотреть, прежде чем можно будет делать выводы о нарушениях. Получив исторические данные из 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"