Использование локальных данных в Python Seaborn возвращает файл не существует - PullRequest
0 голосов
/ 25 мая 2018

Я пытаюсь использовать 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)

потому что, если я опущу эту строку и строку под ней и добавлю print tel под строкой pd.read_csv, тогда программа заработает и распечатает содержимое файла.Почему-то load_dataset не позволяет мне использовать этот файл!

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

1 Ответ

0 голосов
/ 25 мая 2018

Я публикую это через мобильный телефон, чтобы он не тестировался:

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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...