首页 > 解决方案 > 如何使用排列属性的熊猫构建数据框?

问题描述

我想在 pandas 中制作一个如下所示的数据框:

Id  Name    Gender  Math    Science English
1   Ram     Male    98      92      80
2   Hari    Male    30      40      23
3   Gita    Female  60      65      77
4   Sita    Female  50      45      55
5   Shyam   Male    80      88      82

我在python中写了这样的报价:

import pandas as pd
d = {'Id':[1,2,3,4,5], 'Name':['Ram','Hari','Gita','Sita','Shyam'],'Gender':['Male','Male','Female','Female','Male'],'Math':[98,30,60,50,80],'Science':[92,40,65,45,88],'English':[80,23,77,55,82]}
df = pd.DataFrame(data=d)
print (df)

它给了我这样的输出:

    English  Gender  Id  Math   Name  Science
0       80    Male   1    98    Ram       92
1       23    Male   2    30   Hari       40
2       77  Female   3    60   Gita       65
3       55  Female   4    50   Sita       45
4       82    Male   5    80  Shyam       88

如何删除没有属性的第一列,并以问题中给出的方式排列属性?我想要 ID、姓名、性别、数学、科学、英语。谢谢

标签: pythonpandasdataframe

解决方案


如果你不想要索引,你可以通过唯一列来设置它,比如Id.

import pandas as pd
d = {'Id':[1,2,3,4,5], 'Name':['Ram','Hari','Gita','Sita','Shyam'],'Gender':['Male','Male','Female','Female','Male'],'Math':[98,30,60,50,80],'Science':[92,40,65,45,88],'English':[80,23,77,55,82]}
df = pd.DataFrame(data=d)
df.set_index('Id', inplace=True)
print (df)

输出:

     Name  Gender  Math  Science  English
Id                                       
1     Ram    Male    98       92       80
2    Hari    Male    30       40       23
3    Gita  Female    60       65       77
4    Sita  Female    50       45       55
5   Shyam    Male    80       88       82

推荐阅读