繁体   English   中英

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

[英]Using local data in Python Seaborn returns file does not exist

我正在尝试利用 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_dataset的官方文档完全没用,所以我发现这里已经有人问过它是如何工作的: https : //stackoverflow.com/a/30337377/6110631

我遵循答案中列出的格式并导入了熊猫,以便我可以使用本地文件(保存在同一文件夹中)。 但是,当我运行程序时,我得到

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_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_dataset()只需要从示例数据库中创建 Pandas DataFrames。 在您的情况下,您创建了一个带有pd.read_csv('nyc.csv') ,因此sns.load_dataset(tel)是不必要的并且不起作用。

这是来自https://seaborn.pydata.org/introduction.html的引述

文档中的大多数代码将使用 load_dataset() 函数来快速访问示例数据集。 这些数据集没有什么特别之处:它们只是 pandas 数据帧,我们可以使用 pandas.read_csv() 加载它们或手动构建它们。 文档中的大多数示例将使用 Pandas 数据框指定数据,但 seaborn 对于它接受的数据结构非常灵活。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM