Pandas read_table使用MultiIndex跳过行

时间:2018-05-21 18:26:34

标签: python pandas

我正在尝试使用pandas read_table读取tsv文件,但出于某种原因,第一行正在从文件中删除。

test.pln(文件为here):

Class index 0   0   0   1   1   1   2   2   2   3   3   3
fall    spring  summer  fall    spring  summer  fall    spring  summer  fall    spring  summer
0                                               
1                                               
2                                               
3                                               
4                                               
5   COMP 140                                            
6       COMP 182                                        
7   MATH 331                                            

然后,运行命令:

pd.read_table("test.pln", header=[0,1],index_col=0)

我得到了这个结果:

Class index         0                     1                  2                \
             fall    spring summer fall spring summer fall spring summer
0
1                 NaN       NaN    NaN  NaN    NaN    NaN  NaN    NaN    NaN
2                 NaN       NaN    NaN  NaN    NaN    NaN  NaN    NaN    NaN
3                 NaN       NaN    NaN  NaN    NaN    NaN  NaN    NaN    NaN
4                 NaN       NaN    NaN  NaN    NaN    NaN  NaN    NaN    NaN
5            COMP 140       NaN    NaN  NaN    NaN    NaN  NaN    NaN    NaN
6                 NaN  COMP 182    NaN  NaN    NaN    NaN  NaN    NaN    NaN
7            MATH 331       NaN    NaN  NaN    NaN    NaN  NaN    NaN    NaN

Class index    3
            fall spring summer
0
1            NaN    NaN    NaN
2            NaN    NaN    NaN
3            NaN    NaN    NaN
4            NaN    NaN    NaN
5            NaN    NaN    NaN
6            NaN    NaN    NaN
7            NaN    NaN    NaN

如您所见,有一个空行。当我尝试从第0行访问值时,我得到一个KeyError。但是,这些值存在于文件中,因此该行应该充满NaN。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

在没有index_col的情况下尝试这个,我们使用drop中的元组删除第一个索引列:

pd.read_csv('Desktop/test.pln',sep='\t',header=[0,1]).drop(('Class index','Unnamed: 0_level_1'), axis=1)

输出:

          0                     1                  2                  3              
       fall    spring summer fall spring summer fall spring summer fall spring summer
0       NaN       NaN    NaN  NaN    NaN    NaN  NaN    NaN    NaN  NaN    NaN    NaN
1       NaN       NaN    NaN  NaN    NaN    NaN  NaN    NaN    NaN  NaN    NaN    NaN
2       NaN       NaN    NaN  NaN    NaN    NaN  NaN    NaN    NaN  NaN    NaN    NaN
3       NaN       NaN    NaN  NaN    NaN    NaN  NaN    NaN    NaN  NaN    NaN    NaN
4       NaN       NaN    NaN  NaN    NaN    NaN  NaN    NaN    NaN  NaN    NaN    NaN
5  COMP 140       NaN    NaN  NaN    NaN    NaN  NaN    NaN    NaN  NaN    NaN    NaN
6       NaN  COMP 182    NaN  NaN    NaN    NaN  NaN    NaN    NaN  NaN    NaN    NaN
7  MATH 331       NaN    NaN  NaN    NaN    NaN  NaN    NaN    NaN  NaN    NaN    NaN
相关问题