Столбцы усечены в pandas и записной книжке Jupyter - PullRequest
0 голосов
/ 16 января 2020

Я не могу понять, как отобразить все столбцы в этом файле .data. Я могу отображать только два отдельных столбца, когда хочу отобразить все десять.

Я приложил изображение с тем, что я пробовал. Я просматривал документацию, но, похоже, ничего не подходит.

Я также приложил изображение с тем, как я хотел бы, чтобы данные отображались в блокноте jupyter.

Как Я хотел бы отобразить данные:

How I'd like to display the data (screenshot)

Как я хочу отобразить данные:

18.0   8   307.0      130.0      3504.      12.0   70  1    "chevrolet mal"
15.0   8   350.0      165.0      3693.      11.5   70  1    "buick skylark"
18.0   8   318.0      150.0      3436.      11.0   70  1    "plymouth sat"
16.0   8   304.0      150.0      3433.      12.0   70  1    "amc rebel sst"
17.0   8   302.0      140.0      3449.      10.5   70  1    "ford torino"
15.0   8   429.0      198.0      4341.      10.0   70  1    "ford galaxie"
14.0   8   454.0      220.0      4354.       9.0   70  1    "chevrolet"
14.0   8   440.0      215.0      4312.       8.5   70  1    "plymouth fury" 
14.0   8   455.0      225.0      4425.      10.0   70  1    "pontiac"

То, что я пробовал до сих пор:

    import pandas as pd

    pd.set_option('display.max_rows', None)
    pd.set_option('display.max_columns', None)
    pd.read_table('auto-mpg.data', header=None)

    0   1
0   18.0 8 307.0 130.0 3504. 12...  chevrolet chevelle malibu
1   15.0 8 350.0 165.0 3693. 11...  buick skylark 320
2   18.0 8 318.0 150.0 3436. 11...  plymouth satellite
3   16.0 8 304.0 150.0 3433. 12...  amc rebel sst
4   17.0 8 302.0 140.0 3449. 10...  ford torino
5   15.0 8 429.0 198.0 4341. 10...  ford galaxie 500
6   14.0 8 454.0 220.0 4354. 9...   chevrolet impala
7   14.0 8 440.0 215.0 4312. 8...   plymouth fury iii
8   14.0 8 455.0 225.0 4425. 10...  pontiac catalina
9   15.0 8 390.0 190.0 3850. 8...   amc ambassador dpl
10  15.0 8 383.0 170.0 3563. 10...  dodge challenger se

Таблица усекается при pandas попытках отобразить данные в двух столбцах.

enter image description here

1 Ответ

0 голосов
/ 16 января 2020

pandas пытается отобразить данные в двух столбцах, потому что вы непреднамеренно сказали pandas прочитать их как два столбца.

  • Во-первых, все столбцы числительных c обрабатываются читать в один столбец «0». Вы можете видеть, что вы получаете 18.0 8 307.0 130.0 3504. 12... все в столбце '0', что неверно. Поскольку разделителем вашего файла является пробел, а не запятая (CSV).
    • Решение: прочитайте ваши данные с помощью read_csv/read_table(..., delimiter = '\s+'...)
    • , теперь вы получите все десять столбцов. Проверьте это. Исправьте команду read_csv/read_table, пока она не заработает.
  • Второе: не обвиняйте pandas над Юпитером; не говорите "pandas не отображается ..."
    • Запустите обычный консольный сеанс Python (без jupyter, без браузера), чтобы увидеть, что pandas на самом деле делает или не отображает. Сначала отладьте это.
    • Только когда вы отладили это, затем запустите в блокноте jupyter. jupyter notebook накладывает свои собственные (основанные на браузере) функции рендеринга поверх Python / pandas и будет выводить вывод из pandas, иногда раздражающими способами. Это плохая идея пытаться отлаживать оба одновременно.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...