Home > OS >  Unable to parse DataFrame values
Unable to parse DataFrame values

Time:02-05

In spite of searching for and adapting several potential solutions online and via StackOverflow, I seem to be making no headway. I was testing this air quality index (AQI) library (you can install it using - $ pip install python-aqi) that I recently discovered using two different data. First data is a value stored in a variable, while the second is a series of values in a data frame. For the former, the code ran successfully, but for the latter, I kept getting this error: InvalidOperation: [<class 'decimal.ConversionSyntax'>]. Please help. Thanks. Here is the link to the data: dataframe for PM2.5 data

import aqi    # import air quality library
import pandas as pd

# Read data
df_mush = pd.read_csv("book1.csv", parse_dates=["Date"], index_col="Date", sep=",")

# parse data in the third column to the variable (see image)
pmt_2_5 = df_mushin['mush-pm_2_5']

# parse the variable and calculate AQI
df_mush_2pt5 = aqi.to_iaqi(aqi.POLLUTANT_PM25, str(pmt_2_5)) 
df_mush_2pt5

CodePudding user response:

You can't pass a Series but only a string:

df_mush = pd.read_csv('book1.csv', parse_dates=['Date'], index_col='Date', sep=',')
df_mush_2pt5 = (df_mush['mush-pm_2_5'].astype(str)
                    .map(lambda cc: aqi.to_iaqi(aqi.POLLUTANT_PM25, cc)))

Output:

# it's not a dataframe but a series
>>> df_mush_2pt5
0     154
1     152
2     162
3     153
4     153
5     158
6     153
7     134
8     151
9     136
10    154
Name: mush-pm_2_5, dtype: object

Documentation:

Help on function to_iaqi in module aqi:

to_iaqi(elem, cc, algo='aqi.algos.epa')
    Calculate an intermediate AQI for a given pollutant. This is the
    heart of the algo.
    
    .. warning:: the concentration is passed as a string so
        :class:`decimal.Decimal` doesn't act up with binary floats.
    
    :param elem: pollutant constant
    :type elem: int
    :param cc: pollutant contentration (µg/m³ or ppm)
    :type cc: str   # <-- This is a string, not Series
    :param algo: algorithm module canonical name
    :type algo: str
  • Related