Pandas read_table пропускает строки с помощью MultiIndex - PullRequest
0 голосов
/ 21 мая 2018

Я пытаюсь прочитать файл в формате tsv, используя pandas read_table, но по какой-то причине первая строка удаляется из файла.

test.pln (Файл здесь ):

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 голосов
/ 21 мая 2018

Попробуйте это без 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...