Ошибка значения может преобразовать только массив размера 1 в скаляр Python.Python

Программы на Python
Ответить
Anonymous
 Ошибка значения может преобразовать только массив размера 1 в скаляр Python.

Сообщение Anonymous »

Я хочу построить тепловую карту с центром вокруг значения 1, показывающую экспрессию генов, соответствующих клеточным линиям, используя этот код:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.colors import TwoSlopeNorm
import seaborn as sns

data = pd.read_csv(r"C:\Users\Hbeen\Desktop\aGPCR Pancreas.csv", header=1, index_col=0)

fig, ax = plt.subplots()
rdgn = sns.diverging_palette(h_neg=130, h_pos=10, s=99, l=55, sep=3, as_cmap=True)
divnorm = TwoSlopeNorm (vmin=data.min(), vcenter=1.00, vmax=data.max())
sns.heatmap(data, cmap='coolwarm', norm=divnorm, fmt ='.0%',
linewidths=0.5, linecolor='black', cbar=True, ax=ax)

plt.title("Expression von AGPCRs in Pankreas Zelllinien")
plt.xlabel("Gene")
plt.ylabel("Zelllinien")
plt.xticks(rotation=90, fontsize=6)
plt.yticks(fontsize=6)
plt.show()

Каждый раз, когда я запускаю его, он выдает ошибку ValueError, которую я не знаю, как исправить, поскольку я совершенно новичок в программировании. Поскольку я понятия не имею, почему появляется эта ошибка, я даже не знаю, как ее исправить. Я пытался найти ответы на этом сайте, но ни один из них не включал панд в задачу, поэтому они мне не очень помогли.
runfile('C:/Users/Hbeen/Desktop/unbenannt0.py', wdir='C:/Users/Hbeen/Desktop')
Traceback (most recent call last):

File ~\anaconda3\Lib\site-packages\spyder_kernels\py3compat.py:356 in compat_exec
exec(code, globals, locals)

File c:\users\hbeen\desktop\unbenannt0.py:17
divnorm = TwoSlopeNorm (vmin=data.min(), vcenter=1.00, vmax=data.max())

File ~\anaconda3\Lib\site-packages\matplotlib\colors.py:1493 in __init__
super().__init__(vmin=vmin, vmax=vmax)

File ~\anaconda3\Lib\site-packages\matplotlib\colors.py:1279 in __init__
self._vmin = _sanitize_extrema(vmin)

File ~\anaconda3\Lib\site-packages\matplotlib\colors.py:208 in _sanitize_extrema
ret = ex.item()

File ~\anaconda3\Lib\site-packages\pandas\core\base.py:418 in item
raise ValueError("can only convert an array of size 1 to a Python scalar")

ValueError: can only convert an array of size 1 to a Python scalar

Это ошибка, которую я получаю, видимо, это происходит при попытке запуска
TwoSlopeNorm (vmin=data.min(), vcenter=1.00, vmx=data.max()


Подробнее здесь: https://stackoverflow.com/questions/792 ... hon-scalar
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»