如何在 Pandas Dataframe 中将列设置为索引?

如何在 Pandas Dataframe 中将列设置为索引?
关注者
8
被浏览
72,265

6 个回答

看官网上的例子:

翻译一下。

假设有这样一个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

最左边这一列0,1,2,3就是索引。

现在我们把 month 这一列设为索引

df.set_index('month')

df 变成了这样

       year  sale
month
1      2012    55
4      2014    40
7      2013    84
10     2014    31

看到 month 这一列变成了索引。

进一步,可以设置多列索引,比如把 year 和 month 都设为索引

df.set_index(['year', 'month'])

现在 df 变成了这样

            sale
year  month
2012  1     55
2014  4     40
2013  7     84
2014  10    31

也可以把 index 和某一列组合,设成一个新的索引,如下

df.set_index([pd.Index([1, 2, 3, 4]), 'year'])

现在 df 长这样

         month  sale
1  2012  1      55
2  2014  4      40
3  2013  7      84
4  2014  10     31

以上。

df.set_index():设置列为行索引

创建一个DataFrame:

import pandas as pd
Student_dict = {'姓名':['张三', '李四', '王五', '赵六'],
                '性别':['男', '女', '男', '女'],
                '年龄':[20, 21, 19, 18],
                'Python成绩':[70, 80, 90, 50]}