将两个 Pandas 系列索引合二为一

问题描述

所以我有以下系列:

small car        285
midsize car      138
small SUV        108
large car         88
standard SUV      86
pickup            78
station wagon     34
minivan            5

我想将'小型SUV''标准SUV'合并成一个名为'SUV'的索引及其总和,就像这样:

small car        285
midsize car      138
SUV              194
large car         88
pickup            78
station wagon     34
minivan            5

解决方法

您可以使用 str.containsnp.where 来分配新值 SUV ,然后计算 level=0 的总和

c = s.index.str.contains("SUV") #s is the variable name of the series here
s.index = np.where(c,"SUV",s.index)
s.sum(level=0)

small car        285
midsize car      138
SUV              194
large car         88
pickup            78
station wagon     34
minivan            5
Name: 1,dtype: int64