.loc
的大熊猫documentation明确指出:
.loc是严格基于标签的,当项目出现时会引发KeyError 未找到,允许的输入是:
单个标签,例如5或'a',(注意5被解释为标签 的索引。这个用法不是索引的整数位置)
与此相反,这令人惊讶的是对于pd.Series ,而不是对于pd.DataFrame:
import numpy as np
a = np.array([1,3,1,2])
import pandas as pd
s = pd.Series(a, index=["a", "b", "c", "d"])
s.loc["a"] # yields 1
s.loc[0] # should be strictly label-based, but it works and also yields 1
你知道为什么吗?