首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用seaborn.pairplot()以多种颜色绘制数据帧?

使用seaborn.pairplot()以多种颜色绘制数据帧?
EN

Stack Overflow用户
提问于 2019-01-22 22:07:25
回答 1查看 15.8K关注 0票数 7

我想要创建一个类似于此图像的图,以便比较我的数据集的多个暗度。数据集不是预设的。我设法用一种颜色正确地显示了数据,但是我想要一种颜色用于y=0,一种用于y=1来比较这些点。就像在虹膜数据集的图像中一样。一旦我在sns.pairplot方法中包含了hue='y',代码直到最后才会编译。

我也不理解控制台的输出。问题出在哪里?

代码语言:javascript
运行
AI代码解释
复制
 import seaborn as sns; sns.set(style="ticks", color\_codes=True)     import pandas as pd
代码语言:javascript
运行
AI代码解释
复制
dataframe = pd.DataFrame(dict(F1=X[:, 0], F2=X[:, 1], F3=X[:, 2], F4=X[:, 3], y=y))

print(dataframe)

g = sns.pairplot(dataframe, hue='y')

这是dataframe的输出。在我看来没问题:

代码语言:javascript
运行
AI代码解释
复制
            F1        F2        F3        F4    y
0     3.173182  2.849991  2.497907  2.851715  0.0
1     2.468625 -0.216985  0.275206  1.232518  1.0
2     2.398419  2.258931  2.255533  4.895872  0.0
3     1.379937  1.041677  1.165911  1.992650  1.0
4     2.489665  2.269068  4.129961  2.218203  0.0
5     4.140160  2.809088  2.973027  3.553128  0.0
6     2.997969  1.701299  2.978875  1.946793  0.0
7     3.864436  3.554276  3.568455  2.839489  0.0
8    -0.000605  1.376971  1.128350  1.293777  1.0
9     2.398057  1.180861  2.400801  2.264726  1.0
10    0.997385 -0.560205  0.954628  2.788858  1.0

...        ...       ...       ...       ...  ...

3990  3.334553  4.576306  2.470476  3.032781  0.0
3991  1.465784  2.304793  1.267303 -0.030802  1.0
3992  0.505905 -0.280769 -1.223464  1.077305  1.0
3993  2.581596  3.924394  3.878303  2.579366  0.0
3994  4.362067  2.247818  2.948595  1.906314  0.0
3995  2.310546  0.006672  2.382227  1.940343  1.0
3996 -0.944635  1.387136  0.604135  2.421478  1.0
3997  1.290999  1.485965  0.262792  0.899340  1.0
3998  0.864532  1.759607  1.118346  1.038935  1.0
3999  1.819110  2.218838  3.927945  2.593009  0.0

[4000 rows x 5 columns]

但最终我收到了这个错误:

代码语言:javascript
运行
AI代码解释
复制
Traceback (most recent call last):
  File "/Users//PycharmProjects//V3_multiTops/vergleich.py", line 131, in <module>
    g = sns.pairplot(dataframe, hue='y')
  File "/Users//PycharmProjects//venv/lib/python3.7/site-packages/seaborn/axisgrid.py", line 2111, in pairplot
    grid.map_diag(kdeplot, **diag_kws)
  File "/Users//PycharmProjects//venv/lib/python3.7/site-packages/seaborn/axisgrid.py", line 1399, in map_diag
    func(data_k, label=label_k, color=color, **kwargs)
  File "/Users//PycharmProjects//venv/lib/python3.7/site-packages/seaborn/distributions.py", line 691, in kdeplot
    cumulative=cumulative, **kwargs)
  File "/Users//PycharmProjects//venv/lib/python3.7/site-packages/seaborn/distributions.py", line 294, in _univariate_kdeplot
    x, y = _scipy_univariate_kde(data, bw, gridsize, cut, clip)
  File "/Users//PycharmProjects//venv/lib/python3.7/site-packages/seaborn/distributions.py", line 366, in _scipy_univariate_kde
    kde = stats.gaussian_kde(data, bw_method=bw)
  File "/Users//PycharmProjects//venv/lib/python3.7/site-packages/scipy/stats/kde.py", line 172, in __init__
    self.set_bandwidth(bw_method=bw_method)
  File "/Users//PycharmProjects//venv/lib/python3.7/site-packages/scipy/stats/kde.py", line 499, in set_bandwidth
    self._compute_covariance()
  File "/Users//PycharmProjects//venv/lib/python3.7/site-packages/scipy/stats/kde.py", line 510, in _compute_covariance
    self._data_inv_cov = linalg.inv(self._data_covariance)
  File "/Users//PycharmProjects//venv/lib/python3.7/site-packages/scipy/linalg/basic.py", line 975, in inv
    raise LinAlgError("singular matrix")
numpy.linalg.linalg.LinAlgError: singular matrix

我想我在sns.pairplot()上做了一些错误的事情,我还不明白。你能给我解释一下吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-22 23:37:01

问题似乎是"y"列本身是数字的。因此,它将作为列/行包含在配对网格中。不管怎么说,这似乎并不是我们想要的。要选择将参与网格的变量,请使用pairplotvars关键字。

代码语言:javascript
运行
AI代码解释
复制
 sns.pairplot(df, vars=df.columns[:-1], hue="y")

iris dataset在不指定vars的情况下工作的原因是hue列不是数字。非数字列不包括在网格中。

完整示例:

代码语言:javascript
运行
AI代码解释
复制
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

df = pd.DataFrame(np.random.randn(300, 4), columns=[f"F{i+1}" for i in range(4)])
df["y"] = np.random.choice([1., 0.], size=len(df))

sns.pairplot(df, vars=df.columns[:-1], hue="y")
plt.show()

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54317168

复制
相关文章
关闭浏览器后,Cryptojacking脚本却仍在运行
《关闭浏览器后,Cryptojacking脚本却仍在运行》文章摘要:研究人员发现一种被称为“弹出式”的隐藏挖矿脚本,即使在用户关闭主浏览器窗口后,仍可在Windows任务栏中运行。不法分子利用Coinhive提供的挖矿脚本,通过隐藏的浏览器窗口和JavaScript代码在用户电脑上挖掘Monero加密货币。该手法难以察觉,且可能严重影响用户计算机性能。用户可尝试使用Windows任务管理器来强制终止与流氓窗口相关联的挖矿进程,或调整Windows任务栏大小并显示该窗口。
企鹅号小编
2018/01/03
1.1K0
关闭浏览器后,Cryptojacking脚本却仍在运行
php关闭浏览器继续执行踩坑记录
最近在项目中需要批量刷数据,但是由于项目的框架太老无法简单的使用命令行,而且项目比较急,所以想到之前的php关闭浏览器继续执行的路子,我记得php客户端断开继续执行需要配置nginx和fpm和php的配置,当时既修改php又修改fpm,但是找不到当时记录的配置信息了,后来想到自己之前测试过一个方法可行,于是翻出来了,代码如下:
高久峰
2023/06/03
5620
selenium 如何在已打开的浏览器上继续运行自动化脚本?
使用selenium 做web自动化的时候,经常会遇到这样一种需求,是否可以在已经打开的浏览器基础上继续运行自动化脚本? 这样前面的验证码登录可以手工点过去,后面页面使用脚本继续执行,这样可以解决很大的一个痛点。
上海-悠悠
2021/08/20
8K0
selenium 如何在已打开的浏览器上继续运行自动化脚本?
新型浏览器挖矿技术可在浏览器窗口关闭的情况下持续挖矿
写在前面的话 在之前的文章中,我们给大家介绍了基于Web的挖矿恶意软件的相关内容。通过观察发现,越来越多的攻击者开始使用臭名昭著的Coinhive服务(允许网站使用目标用户硬件资源挖门罗币)来实施攻击
FB客服
2018/02/26
1.7K0
新型浏览器挖矿技术可在浏览器窗口关闭的情况下持续挖矿
VG浏览器生成EXE的自动运行及自动关闭
首先生成启动函数 方法一:双击窗体标题生成exe启动函数,也就是窗体载入函数
用户1191760
2019/05/22
1.5K0
VG浏览器生成EXE的自动运行及自动关闭
selenium+chrome不关闭浏览器的情况下如何换IP?
Selenium是一种用于自动化浏览器的工具,可以用于模拟用户行为,特别是在访问需要进行登录的网站的时候,直接可以使用Selenium和HTTP代理来模拟真实用户行为,绕过网站反爬虫机制,以及保护我们的隐私。那如何在Selenium中使用代理并访问目标网站,一般Selenium都是使用ChromeDriver来控制浏览器。
小白学大数据
2023/03/16
1.8K1
TensorFlow.js发布:使用JS进行机器学习并在浏览器中运行
TensorFlow.js是为JavaScript开发者准备的开源库,可以使用JavaScript和高级图层API完全在浏览器中定义,训练和运行机器学习模型!如果你是一名机器学习新手,那么TensorFlow.js是开始学习的好方法。
AiTechYun
2018/07/27
2K0
TensorFlow.js发布:使用JS进行机器学习并在浏览器中运行
关闭浏览器的跨域校验
Access to script at '资源路径' from origin 'null' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, isolated-app, chrome-extension, chrome-untrusted, https, edge
程序员朱永胜
2023/09/01
1.3K0
关闭浏览器的跨域校验
浏览器运行原理
浏览器是指可以显示网页服务器或者文件系统的HTML文件(标准通用标记语言的一个应用)内容,并让用户与这些文件交互的一种软件。
泰斗贤若如
2019/06/19
1.4K0
浏览器运行原理
关闭谷歌浏览器强制Https
特殊说明: 解决问题的光鲜,藏着磕Bug的痛苦。 万物皆入轮回,谁也躲不掉! 以上文章,均是我实际操作,写出来的笔记资料,不会出现全文盗用别人文章!烦请各位,请勿直接盗用!
收心
2022/01/19
4.5K0
关闭谷歌浏览器强制Https
IE浏览器,被永久关闭!
微软宣布,将在当地时间6月15日(北京时间16日),结束对“Internet Explorer(IE)”的支持。
wencheng
2022/08/25
2.2K0
IE浏览器,被永久关闭!
浏览器的运行机制
渲染过程说白了,首先是基于 HTML 构建一个 DOM 树,这棵 DOM 树与 CSS 解释器解析出的 CSSOM 相结合,就有了布局渲染树。最后浏览器以布局渲染树为蓝本,去计算布局并绘制图像,我们页面的初次渲染就大功告成了。
愤怒的小鸟
2021/01/14
4990
如何关闭常见浏览器的 HSTS 功能
在安装配置 SSL 证书时,可以使用一种能使数据传输更加安全的Web安全协议,即在服务器端上开启HSTS (HTTP Strict Transport Security)。它告诉浏览器只能通过HTTPS访问,而绝对禁止HTTP方式。
IT小马哥
2022/05/05
4K0
让Linux关闭SSH终端后程序继续运行
解决方法:使用nohup命令让程序在关闭窗口(切换SSH连接)的时候程序还能继续在后台运行。
用户8965210
2021/08/31
6.9K0
screen实现关闭ssh之后继续运行代码
使用SSH连接远程服务器,启动服务,退出SSH后,服务也就终止了,使用Screen可以解决这个问题。
怪兽
2022/12/14
5210
独角数卡 关闭防红 关闭浏览器跳转
33小铺 https://www.33xp.cn/ 打开 DujiaoBoot.php 文件 /app/Http/Middleware/DujiaoBoot.php 注释 /*/ 浏览器检测 $userAgent = $request->header('user-agent'); $nowUri = site_url() . $request->path(); $tplPath = 'common/notencent'; if (
残浔
2023/05/11
1.4K0
独角数卡 关闭防红 关闭浏览器跳转
Flutter 运行到浏览器
最近想让Flutter 项目运行到浏览器试一下,按照一些博客说明,做了下面的操作。
星宇大前端
2020/07/06
2.2K0
Flutter 运行到浏览器
谷歌浏览器安装不上
今天打开谷歌浏览器突然出现第一次打开浏览器内容不显示,在次刷新才可以,也不知道是什么原因,然后重新安装浏览器
二货哈
2022/03/28
1.5K0
远程部署CentOS上的Jupyter Notebook并在浏览器访问
生成的config file在/root/.jupyter/jupyter_notebook_config.py
SL_World
2021/09/18
1.3K0
QQ浏览器拼写检查如何关闭?
看了下内核逻辑,默认是开启的,暂时没有办法关闭,我们准备在设置项增加一个选项,可以开启或者关闭,预计下个版本11.6.0发布
Windows技术交流
2023/01/09
1.5K0

相似问题

即使用户关闭了浏览器,PHP脚本还能继续运行吗?

71

在用户关闭浏览器后继续运行操作

11

如果关闭浏览器,PHP代码是否继续运行?

21

即使浏览器关闭,CF模板是否仍继续运行?

11

在关闭浏览器时运行php脚本

26
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档