Ни атом, ни визуальный код не показывают вывод набора данных - PullRequest
1 голос
/ 14 января 2020

Я скачал CSV Kaggle Netflix ( здесь ). Затем я попытался открыть его с помощью следующего кода на atom и visual studio:

import pandas as pd
datapath='~/Downloads/netflix_titles_nov_2019.csv'
netflixdata=pd.read_csv(datapath)
netflixdata.describe()

Он работает без ошибок, но ничего не выводит. Однако, когда я делаю это на терминале, он показывает информацию .csv. Я что-то пропустил? Как расширение, et c ..

Ответы [ 2 ]

1 голос
/ 14 января 2020

tl; dr

Если вы ожидаете вывода из скрипта, вы должны окружить его print.

Пояснение

В Python, способ отображаемый объект управляется его функцией __repr__ (представьте себе «представление»). Вот пример:

class MyUncoolClass:
    pass

class MyCoolClass:
    def __repr__(self):
        return "Check out this repr"

>>> MyUncoolClass()
<__main__.MyUncoolClass object at 0x1063c0048>
>>> MyCoolClass()
Check out this repr

Когда вы звоните netflixdata.describe(), вы возвращаете фрейм данных:

>>> type(netflixdata.describe())
<class 'pandas.core.frame.DataFrame'>

То, что вы на самом деле просматриваете, когда вы звоните .describe() в оболочке является выводом функции __repr__ в dataframe, которая является строкой. Эта строка будет отображаться при печати или в консоли. Однако, когда вы запускаете сценарий python, если вы (или что-то еще) явно не вызываете print для какого-либо объекта, он не будет напечатан.

1 голос
/ 14 января 2020

При запуске команд в терминале все работает иначе. Если вы выполняете свой код в своего рода IDE, вам нужно указать свой код для отображения вывода. Если вы просто хотите увидеть это визуально, это можно сделать так же просто, как просто print с выводом print(netflixdata.describe())

...