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 也需要更新,因为您是 运行 旧版本。
我想对数据集进行 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 也需要更新,因为您是 运行 旧版本。