我有一个由字符串索引的 pandas 数据框。假设我的索引类似于 df.index = ['AA','AB','AC',...]
并且我想访问 df.loc['AC': 'AE']
,效果很好。
有什么方法可以获取这些索引的位置,给我['AC':'AE'] => [2,3,4]
?我知道有 df.index.get_loc('AC') => 2 ,但这仅适用于单个值,不适用于列表。
最佳答案
用途:
df = pd.DataFrame({'a': [5,6,7,8, 10]}, index=['AA','AB','AC','AD','AE'])
pos = list(range(df.index.get_loc('AC'), df.index.get_loc('AE') + 1))
print (pos)
[2, 3, 4]
另一个解决方案 Index.searchsorted
:
pos = list(range(df.index.searchsorted('AC'), df.index.searchsorted('AE') + 1))
print (pos)
[2, 3, 4]
a = df.index.searchsorted(['AC', 'AE'])
pos = list(range(a[0], a[1] + 1))
print (pos)
[2, 3, 4]
关于python - 在 pandas 数据框中获取 int 索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50814455/