Leo*_*das 5 python indexing dataframe pandas
我有以下数据框:
df = pd.DataFrame({'color': ['Yellow', 'Green', 'Red', 'Orange'], 'weight': [0.5, 4, 1, 10]}, index = ['Banana','Melon','Apple','Pumpkin'])
看起来像这样:
Banana Yellow 0.5
Melon Green 4.0
Apple Red 1.0
Pumpkin Orange 10.0
Run Code Online (Sandbox Code Playgroud)
我想做的是访问“香蕉”、“甜瓜”、“苹果”、“南瓜”子集的整数位置。我知道 pandas.index.get_loc 是对索引的单个元素执行此操作的一种方法。例如:df.index.get_loc('Apple')
返回 2。但是,我想一次对多个元素执行此操作。除其他外,我尝试了 df.index.get_loc('Apple','Pumpkin'),希望获得列表 [2,3],但这给出了以下错误:ValueError: Invalid fill method. Expecting pad (ffill), backfill (bfill) or nearest. Got pumpkin
是否有一个函数可以让我一次获取多个整数位置?
WeN*_*Ben 10
尝试使用get_indexer
which 接受列表之类的输入
df.index.get_indexer(['Apple','Pumpkin'])
Out[104]: array([2, 3], dtype=int32)
Run Code Online (Sandbox Code Playgroud)