对我来说似乎很好.
您可以使用itertools.product创建元组,而不包含理解中的三个部分.但我认为这对于初学者来说同样是好的并且可读,而使用itertools的方法则不那么容易. itertools的方式是这样的:
list(itertools.product(range(2),
range(number_of_classes),
range(number_of_price_brackets)))
如果您发现经常这样做,也可以定义辅助函数.
def make_category_multiindex(categories, names):
from itertools import product
return pd.MultiIndex.from_tuples(list(product(*categories)), names=names)
然后做:
categories = [range(2),
range(number_of_classes),
range(number_of_price_brackets)]
names = ['Gender','Class','Price Bracket']
survival_table = pd.Series(index=make_category_multiindex(categories, names))