我正在关注“10 分钟了解 Pandas ”教程,网址为 http://pandas.pydata.org/pandas-docs/stable/10min.html
dates = pd.date_range('20130101', periods=6)
df = pd.DataFrame(np.random.randn(6,4), index=dates, columns=list('ABCD'))
df.loc['20130101','A']
在我的例子中输出-0.25092116222457655
同时
df.at['20130101','A']
同时导致TypeError和KeyError。
pd.__version__
'0.20.3'
最佳答案
pd.DataFrame.at
要求您以正确的对象类型指定标签。
pd.DataFrame.loc
包含字符串到日期时间
转换的附加逻辑。
例如,这将起作用:
df.at[pd.to_datetime('20130101'),'A']
请注意,这是 .at
和 .iat
性能优于 .loc
和 .iloc
的原因之一对于访问标量:输入有更大的限制。
关于python - 用于获取标量值的 df.at 和 df.loc 给出不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50173442/