How to do it...

  1. Read in the college scoreboard dataset with the institution name as the index. Pass a college name and column name to .loc in order to select a scalar value:
>>> college = pd.read_csv('data/college.csv', index_col='INSTNM')
>>> cn = 'Texas A & M University-College Station'
>>> college.loc[cn, 'UGDS_WHITE']
.661
  1. Achieve the same result with .at:
>>> college.at[cn, 'UGDS_WHITE']
.661
  1. Use the %timeit magic command to find the difference in speed:
>>> %timeit college.loc[cn, 'UGDS_WHITE']
8.97 µs ± 617 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)

>>> %timeit college.at[cn, 'UGDS_WHITE']
6.28 µs ± 214 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)
  1. Find the integer locations of the preceding selections and then time the difference between .iloc and .iat:
>>> row_num = college.index.get_loc(cn)
>>> col_num = college.columns.get_loc('UGDS_WHITE')
>>> row_num, col_num
(3765, 10)

>>> %timeit college.iloc[row_num, col_num]
9.74 µs ± 153 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)
>>> %timeit college.iat[row_num, col_num]
7.29 µs ± 431 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset