Панды - Выполнение транспонирования нескольких столбцов - PullRequest
0 голосов
/ 25 ноября 2018

У меня есть датафрейм, как показано ниже:

col1,col2,col3,col4
value1,value2,value3,value4

Я пытаюсь выполнить для них функцию транспонирования, чтобы получить следующий вывод:

col1,value1
col2,value2
col3,value3
col4,value4

Проблема в спискестолбцы являются динамическими, и это зависит от пользовательского ввода, который извлекает соответствующие столбцы в первую очередь.

Используйте приведенный ниже запрос, чтобы получить список столбцов, запрошенных пользователем:

cursor.execute('select {} from table'.format(', '.join(str(cols) for cols in col_names)))

CouldЛюбой совет, как я мог бы выполнить транспонирование такого кадра данных, который имеет несколько столбцов, но только одну строку вывода.Спасибо ..

1 Ответ

0 голосов
/ 25 ноября 2018

Если ваша конструкция dataframe такая, как вы показали в своем посте с несколькими столбцами и одной строкой, тогда просто установите индекс для вашего первого столбца, в вашем случае его "col1", а затем транспонируйте его.

DataFrame, как показано:

df = pd.DataFrame({ 'col1':['value1'], 'col2':['value2'], 'col3':['value2'], 'col4':['value4']})

     col1    col2    col3    col4
0  value1  value2  value2  value4

Вы можете выполнить, как показано ниже:

>>> df.set_index('col1',inplace=True) # First set the Index to `col1` + `inplace=True`

Теперь разрешите транспонировать ..

>>> df.T
col1  value1
col2  value2
col3  value2
col4  value4

За один раз все:

>>> df.set_index('col1').T
col1  value1
col2  value2
col3  value2
col4  value4

Примечание: df.T не будет выполнять задание, потому что оноищет индекс по умолчанию, т. е. ноль, в этом случае в виде столбцов.

Надеюсь, это поможет вам.

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