Seaborn KDE 没有给出图表

Seaborn KDE is not giving a graph

我想对数据集进行 KDE 估计,但显示错误。

import pandas as pd
import seaborn as sns
df = pd.read_csv("node1.txt", header = None) 
sns.kdeplot(df[0]);

输出:

TypeError: 'list' object is not callable

nodes1.txt 具有 float64

类型的每个元素

我不知道出了什么问题。我在 youtube 上看到了一个视频,它与视频中显示的完全一样,但是当我尝试在 Spyder 中执行此操作时出现错误。如果我使用 jupyter notebook,它只会保持 运行 并且不会给我任何图表。如果我在代码的第 4 行不使用分号,则不会得到图表,我只会得到 <AxesSubplot:xlabel='0', ylabel='Density'> 作为输出。内核在 运行 这段代码一分钟后死亡。

请帮帮我

每当你 post 在这里提出问题时,你应该总是尝试包含一个 MRE(最小可重现示例),在你的情况下,从你的 "node1.txt" 重新创建一个数据框,就像我用 random向量。指定软件版本也很有帮助。这是 Python 3.7.4、Spyder 3.3.6、Pandas 0.25.1 和 Seaborn 0.11.2。

import pandas as pd
import seaborn as sns
import random

a=[]
for i in range(269):
    a.append(random.uniform(-8, 8))

df = pd.DataFrame(a)

勾选 print(df)print(df[0]):

print(df)
            0
0   -7.777958
1   -1.298064
2    2.326718
3   -6.880657
4    4.813914
..        ...
264 -3.309862
265  5.009295
266  4.010151
267  1.665604
268 -0.209954

[269 rows x 1 columns]

print(df[0])
0     -7.777958
1     -1.298064
2      2.326718
3     -6.880657
4      4.813914
  
264   -3.309862
265    5.009295
266    4.010151
267    1.665604
268   -0.209954
Name: 0, Length: 269, dtype: float64

现在,绘制 KDE:

In[1]: sns.kdeplot(df[0])
Out[1]: <AxesSubplot:xlabel='0', ylabel='Density'>

如果使用此代码没有得到此输出,请尝试重新启动内核 and/or 打开一个新的 IPython 控制台并重试(首先使用此代码,因为它是可重现的)。如果您仍然无法获得此输出,请尝试 update/upgrade 您的 seaborn 包:pip install seaborn --upgrade

安装的Numpy库好像有错误。一旦纠正了 list not callable 错误就应该解决了。 要重新调用库,请通过 运行 终端中的以下代码更新您的 Anaconda

conda update conda

Seaborn 也需要更新,因为您是 运行 旧版本。