Пожалуйста, проверьте сообщение об ошибке "sort_values" - PullRequest
0 голосов
/ 29 января 2019

Этот вопрос был решен.В «Env» («Env») было невидимое пространство.Ниже приведены правильные коды.

Вопрос:

Я не понимаю сообщений об ошибках относительно sort_values.Ниже напечатан фрейм данных.

 print(df)
                                          Value1  Value2  Value3  Value4
     Function Type       Name                                           
     Env      condition   Board             BD#1    BD#2    BD#3    BD#4
                          Temp             High     Room    Low    High 
                          Volt              High     Low     Typ    High
                          SIDD               200      85     185     200
                          Freq             1600M   1600M   1600M   1600M
     CBT      status      CBT_CH0             00      00      00      00
              Input       Data0_CH0           0B      0A      0B      0A
                          Data1_CH0           0C      0C      0D      0B
                          Data2_CH0           07      08      09      06
                          Data3_CH0           06      05      04      08
                          Data4_CH0           01      01      01      03
                          Data5_CH0           00      01      01      02
              Output      Data0_CH0_out       0B      0A      0B      0A
                          Data1_CH0_out       0C      0C      0A      0B
                          Data2_CH0_out       07      04      05      06
                          Data3_CH0_out       06      08      09      05
                          Data4_CH0_out       01      03      04      02
                          Data5_CH0_out       00      02      03      01
              status      CBT_CH1             00      01      02      01
              Input       Data0_CH1           0B      0C      0D      0A
                          Data1_CH1           0C      0B      0A      0D
                          Data2_CH1           07      06      05      08
                          Data3_CH1           06      07      06      07
                          Data4_CH1           01      02      03      02
                          Data5_CH1           00      00      01      01
              Output      Data0_CH1_out       0B      0A      0B      0C
                          Data1_CH1_out       0C      0B      0C      0B
                          Data2_CH1_out       07      07      08      06
                          Data3_CH1_out       06      04      05      04
                          Data4_CH1_out       01      02      03      02
                          Data5_CH1_out       00      01      02      01

Я использовал sort_values ​​для сортировки столбца по индексу в алфавитном порядке.

  df= df.sort_values(by=('Env','condition','Temp'), axis=1)

Но, появляется сообщение об ошибке.

Я думаю, что индексный список ('Env', 'condition', 'Temp') был правильным.

Я не понимаю сообщения об ошибках ниже и почему это произошло.

Пожалуйста, дайте мне знать значение сообщений ниже.

     ---------------------------------------------------------------------------
     KeyError                                  Traceback (most recent call last)
     <ipython-input-57-1a4fbe80928c> in <module>()
     ----> 1 df= df.sort_values(by=('Env','condition','Temp'), axis=1)

     C:\Users\13ZD970\Anaconda3\lib\site-packages\pandas\core\frame.py in sort_values(self, by, axis, ascending, inplace, kind, na_position)
        4419             by = by[0]
        4420             k = self._get_label_or_level_values(by, axis=axis,
     -> 4421                                                 stacklevel=stacklevel)
        4422 
        4423             if isinstance(ascending, (tuple, list)):

     C:\Users\13ZD970\Anaconda3\lib\site-packages\pandas\core\generic.py in _get_label_or_level_values(self, key, axis, stacklevel)
        1380             values = self.axes[axis].get_level_values(key)._values
        1381         else:
     -> 1382             raise KeyError(key)
        1383 
        1384         # Check for duplicates

     KeyError: ('Env', 'condition', 'Temp')

1 Ответ

0 голосов
/ 29 января 2019

Единственное, что вам нужно изменить:

df= df.sort_values(by=['Env','condition','Temp'], axis=1)

Параметр by принимает либо строковое значение, либо список строковых значений.Не кортеж, (как ты).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...