df.at 一次只能访问一个值。
df.loc能够选取多行多列。
In [25]: %timeit df.loc[('a', 'A'), ('c', 'C')]
10000 loops, best of 3: 187 µs per loop
In [26]: %timeit df.at[('a', 'A'), ('c', 'C')]
100000 loops, best of 3: 8.33 µs per loop
at修改值的速度大概是loc的十倍。
来源: https://stackoverflow.com/questions/37216485/pandas-at-versus-loc