Как объединить несколько фреймов данных с одинаковым количеством столбцов в один фрейм данных, который показывает все заголовки столбцов для каждого фрейма?-Pandas - PullRequest
0 голосов
/ 06 июня 2018

В Pandas я могу объединить 3 разных фрейма данных, где все они имеют определенное общее количество заголовков столбцов, но только 1 другой начальный заголовок столбца.Тем не менее, общие / общие заголовки между фреймами отображаются только один раз, вверху файла CSV / листа Excel.Пример (где фрукты - это отдельный фрейм данных от растений):

*fruit* | *plants* | run 1 | run 2 | run 3 | max |
 papaya |          | 22    |  21   | 21    | 22  |
 orange |          | 20    |  2    | 2     | 20  |
        | mint     | 12    |  22   | 1.3   | 22  |
        | cactus   | 13    |  23   | 20    | 23  |

Что я действительно пытаюсь получить, так это то, что, когда приходят большие данные, их проще визуализировать без необходимости постоянно прокручивать вверх:

*fruit* | run 1 | run 2 | run 3 | max |
 papaya | 22    |  21   |  21   | 22  |
 orange | 20    |  2    |  2    | 20  |
        |       |       |       |     |
*plants*| run 1 | run2  | run 3 | max |
 mint   | 12    | 22    | 1.3   | 22  |
 cactus | 13    | 23    | 20    | 23  |

-Также я прошу прощения, если я использую функцию concat вместо функции слияния или объединения.Я действительно не вижу, как они производят различную продукцию.Я все еще изучаю разницу между ними.Кто-нибудь знает, возможно ли это сделать с Python и Pandas?

Вот мой текущий код для их объединения (как показано на диаграмме 1):

largeData = pd.concat([fruitsFrame, plantsFrame], axis = 1)

1 Ответ

0 голосов
/ 06 июня 2018

Вы можете поместить другой столбец в индекс и затем объединить их:

pd.concat([plantsFrame.set_index(['plants']), fruitsFrame.set_index(['fruit'])])

Вывод:

      run 1 run 2   run 3   max
mint    12  22      1.3     22
cactus  13  23      20.0    23
papaya  22  21      21.0    22
orange  20  2       2.0     20
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...