我已经下载了Kaggle Netflix csv(here)。然后,我尝试在atom和visual studio上使用以下代码打开它:
import pandas as pd
datapath='~/Downloads/netflix_titles_nov_2019.csv'
netflixdata=pd.read_csv(datapath)
netflixdata.describe()
它运行无错误,但不输出任何内容。但是,当我在终端上执行此操作时,它会显示.csv信息。我想念什么吗?像扩展名等。
[在终端中运行命令时,操作会有所不同。如果要在各种IDE中运行代码,则需要告诉代码以显示输出。如果您只想直观地看到它,可以像使用print
print(netflixdata.describe())
输出一样简单。如果期望脚本输出,则应将其用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__
函数的输出,该函数是一个字符串。该字符串将在您打印时或在控制台中显示时显示。但是,当您运行python脚本时,除非您(或其他方式)显式调用某个对象上的print
,否则不会打印该对象。