我正在上在线类(class)学习 python,讲师告诉我们链式索引不是一个好主意。但是,他没能说出是合适的替代方法。
假设我有一个 Pandas 数据框,其中的行索引为 ['1', '2', '3']
,列的名称为 ['a', 'b', 'c']
.
除了使用命令 df['1']['a']
提取在第一行和第一列中找到的值之外,什么是合适的替代方法?
最佳答案
使用multi-axis indexing ,例如
df.loc['a', '1']
当你使用df['1']['a']
时,你首先访问的是系列对象s = df['1']
,然后访问系列元素 s['a']
,导致两次 __getitem__
调用,两者都严重重载(处理很多场景,如切片、 bool 掩码索引, 等等)。
使用 df.loc
索引器效率更高。
关于python - Pandas 链索引的替代方案是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41253170/