pandas.DataFrame.set_index # 数据框。set_index ( keys , * , drop = True , append = False , inplace = False , verify_integrity = False ) [来源] # 使用现有列设置 DataFrame 索引。 使用一个或多个现有列或数组(具有正确的长度)设置 DataFrame 索引(行标签)。该索引可以替换现有索引或对其进行扩展。 参数: 键标签或类似数组或标签/数组列表此参数可以是单个列键、与调用 DataFrame 长度相同的单个数组,也可以是包含列键和数组的任意组合的列表。这里,“数组”包含Series、Index、np.ndarray和 的实例Iterator。 drop bool,默认 True删除要用作新索引的列。 附加布尔值,默认 False是否将列附加到现有索引。 inplace布尔值,默认 False是否修改 DataFrame 而不是创建一个新的。 verify_integrity bool, 默认 False检查新索引是否有重复项。否则将检查推迟到必要时。设置为 False 将提高此方法的性能。 返回: 数据框或无更改行标签或无如果inplace=True。 也可以看看 DataFrame.reset_index与 set_index 相反。 DataFrame.reindex更改为新索引或扩展索引。 DataFrame.reindex_like更改为与其他 DataFrame 相同的索引。 例子 >>> df = pd.DataFrame({'month': [1, 4, 7, 10], ... 'year': [2012, 2014, 2013, 2014], ... 'sale': [55, 40, 84, 31]}) >>> df month year sale 0 1 2012 55 1 4 2014 40 2 7 2013 84 3 10 2014 31 将索引设置为“月”列: >>> df.set_index('month') year sale month 1 2012 55 4 2014 40 7 2013 84 10 2014 31 使用列“年”和“月”创建多重索引: >>> df.set_index(['year', 'month']) sale year month 2012 1 55 2014 4 40 2013 7 84 2014 10 31 使用索引和列创建多重索引: >>> df.set_index([pd.Index([1, 2, 3, 4]), 'year']) month sale year 1 2012 1 55 2 2014 4 40 3 2013 7 84 4 2014 10 31 使用两个系列创建多重索引: >>> s = pd.Series([1, 2, 3, 4]) >>> df.set_index([s, s**2]) month year sale 1 1 1 2012 55 2 4 4 2014 40 3 9 7 2013 84 4 16 10 2014 31