Python 类似index.get_loc的函数,但用于多个值
我有以下数据框:Python 类似index.get_loc的函数,但用于多个值,python,pandas,dataframe,indexing,Python,Pandas,Dataframe,Indexing,我有以下数据框: df=pd.DataFrame({'color':['Yellow','Green','Red','Orange','weight':[0.5,4,1,10]},index=['Banana','humber','Apple','pumpking']) 看起来是这样的: Banana Yellow 0.5 Melon Green 4.0 Apple Red 1.0 Pumpkin Orange 10.0 我要做的是访问“香蕉”
df=pd.DataFrame({'color':['Yellow','Green','Red','Orange','weight':[0.5,4,1,10]},index=['Banana','humber','Apple','pumpking'])
看起来是这样的:
Banana Yellow 0.5
Melon Green 4.0
Apple Red 1.0
Pumpkin Orange 10.0
我要做的是访问“香蕉”、“瓜”、“苹果”、“南瓜”子集的整数位置。我知道pandas.index.get_loc是为索引的单个元素执行此操作的一种方法。例如:df.index.get_loc('Apple')
返回2。但是,我希望同时对多个元素执行此操作。除其他外,我尝试了df.index.get_loc('Apple','pumpking'),希望获得列表[2,3],但这导致了以下错误:ValueError:Invalid fill method。应为垫层(ffill)、回填(bfill)或最近的。得到南瓜
是否有一个函数允许我一次获取多个整数位置?尝试使用
get\u indexer
,它接受类似列表的输入
df.index.get_indexer(['Apple','Pumpkin'])
Out[104]: array([2, 3], dtype=int32)
这正是我要找的!谢谢