在Python Seaborn返回文件中使用本地数据不存在

在Python Seaborn返回文件中使用本地数据不存在,python,seaborn,Python,Seaborn,我试图利用Seaborn来创建一个可视化 以下是我迄今为止所做的: import os.path directory = os.path.dirname(os.path.abspath(__file__)) import pandas as pd import seaborn as sns sns.set(style="whitegrid", color_codes=True) tel = pd.read_csv('nyc.csv') nyctel = sns.load_dataset(tel

我试图利用Seaborn来创建一个可视化

以下是我迄今为止所做的:

import os.path
directory = os.path.dirname(os.path.abspath(__file__)) 
import pandas as pd
import seaborn as sns
sns.set(style="whitegrid", color_codes=True)
tel = pd.read_csv('nyc.csv')
nyctel = sns.load_dataset(tel)
sns.stripplot(x="installation_id", y="mounting", hue="mounting", data=nyctel)
load_数据集的官方文档完全没有用处,因此我发现有人已经问了一个关于它在这里如何工作的问题:

我按照答案中列出的格式导入熊猫,以便使用本地文件(保存在同一文件夹中)。然而,当我运行程序时,我得到

IOError: File nyc.csv does not exist
如果我使用绝对路径,我得到

IOError: ('http protocol error', 0, 'got a bad status line', None) 
问题似乎出在这一行:

nyctel = sns.load_dataset(tel)
因为如果我省略这一行和它下面的那一行,并在pd.read_csv行下面添加
print tel
,那么程序就会工作,并打印出文件的内容。不知何故,
load\u dataset
不允许我使用该文件


我使用的代码与上面链接的答案完全相同。为什么这对本地文件不起作用?

我通过手机发布了这篇文章,所以它没有经过测试:

import pandas as pd
import seaborn as sns
import os.path

directory = os.path.dirname(os.path.abspath(__file__))
filename = 'nyc.csv'
file_path = os.path.join(directory, filename)
tel = pd.read_csv(file_path)

sns.set(style="whitegrid", color_codes=True)
nyctel = sns.load_dataset(tel)

sns.stripplot(x="installation_id", y="mounting", hue="mounting", data=nyctel)
load\u dataset()
仅用于从示例数据库中创建数据帧。在您的例子中,您创建了一个数据帧,其中包含
pd.read\u csv('nyc.csv')
,因此
sns.load\u dataset(tel)
是不必要的,并且不起作用

这里有一段引用自

文档中的大多数代码将使用load_dataset()函数获取 快速访问示例数据集。没有什么特别的 这些数据集:它们只是数据帧,我们可以 加载熊猫。阅读或手工制作。大部分 文档中的示例将使用熊猫指定数据 数据帧,但seaborn在数据结构方面非常灵活 它接受


您的文件是否与代码位于同一位置?可能您可以尝试在
pd.read\u csv
上添加绝对路径。好的,您是否查看了链接,从您在上面发布的链接load\u dataset查找联机csv文件。如果您转到的链接
nyc.csv
不在那里。@0p3n5source是的,但是使用pandas您可以使用本地文件OK,可能我有点困惑,那么为什么您再次需要nyctel,为什么不使用tel?也许我会在这之后停止评论。如果你评论line
nyctel=sns.load\u dataset(tel)
并且只在数据中使用
tel
,它会不会起作用?你可以总是尝试用一些小的结果进行切片,比如
tel=pd.read\u csv('nyc.csv')[:100]
,仅用于100行。这得到了我:IOError:('http协议错误',0,'got a bad status line',None)