seaborn导入数据集报错 数据集链接超时,获取地址失败错误

问题描述——seaborn导入数据集报错 <urlopen error [Errno 11004] getaddrinfo failed>

使用下面代码用seaborn模块绘制图形的时候,用seaborn自带的数据集报错

#绘制散点图
import matplotlib.pyplot as plt
import seaborn as sns

#设置样式
sns.set_style('darkgrid')
#解决中文乱码

plt.rcParams['font.sans-serif']=['SimHei']

#读取数据
df=sns.load_dataset('tips') #关于消费数据,是seaborn自带的
df

seaborn导入数据集报错 <;urlopen error [Errno 11004] getaddrinfo failed> 数据集链接超时,获取地址失败错误_数据

问题原因

seaborn绘图库时,想导入官方提供的数据集报错 是因为 这个数据集在github github是外国网站 虽然处于一个半防火墙状态,但是在国内访问还是会出现链接超时,有时候进得去,有时候进不去的情况,使用官方数据集,就要去外网去使用,这时候,链接超时很正常

所以就会报下面错误

seaborn导入数据集报错 <;urlopen error [Errno 11004] getaddrinfo failed> 数据集链接超时,获取地址失败错误_数据集_02

解决方法

我们通过这行代码看看seaborn_data的路径

import seaborn as sns
print(sns.utils.get_data_home())

seaborn导入数据集报错 <;urlopen error [Errno 11004] getaddrinfo failed> 数据集链接超时,获取地址失败错误_数据集_03

输出:‘C:\Users\Lenovo\seaborn-data’,然后进入这个文件夹,发现什么数据都没有,如下图:

seaborn导入数据集报错 <;urlopen error [Errno 11004] getaddrinfo failed> 数据集链接超时,获取地址失败错误_数据_04

上面是win10系统的 ,win11系统可能不一样 ,可以看下面图片

seaborn导入数据集报错 <;urlopen error [Errno 11004] getaddrinfo failed> 数据集链接超时,获取地址失败错误_数据集_05

如果你用上面查看路径代码找到的路径,复制这个路径到

seaborn导入数据集报错 <;urlopen error [Errno 11004] getaddrinfo failed> 数据集链接超时,获取地址失败错误_github_06

后面按照下面的步骤把数据集解压到对应文件夹里面

上面是

那我们怎么办呢?

在源码里面。官方提供了github数据集​​https://github.com/mwaskom/seaborn-data​​如下图:

seaborn导入数据集报错 <;urlopen error [Errno 11004] getaddrinfo failed> 数据集链接超时,获取地址失败错误_github_07

seaborn导入数据集报错 <;urlopen error [Errno 11004] getaddrinfo failed> 数据集链接超时,获取地址失败错误_github_08

下载后的压缩包 ,复制这个压缩包到对应目录解压把里面数据给复制出来,到那个对应目录粘贴就行了

后面到pycahrm里面 或者jupyter notebook里面测试是否成功,可以访问数据集不

用下面代码进行测试

#绘制散点图
import matplotlib.pyplot as plt
import seaborn as sns
#
# #设置样式
sns.set_style('darkgrid')
#解决中文乱码

plt.rcParams['font.sans-serif']=['SimHei']

#读取数据
df=sns.load_dataset('tips') #关于消费数据,是seaborn自带的
print(df)

运行测试如下:

seaborn导入数据集报错 <;urlopen error [Errno 11004] getaddrinfo failed> 数据集链接超时,获取地址失败错误_数据集_09

发现数据集访问到了,说明我们本地数据集设置成功了。

问题解决,