0
我想繪製一個簡單的Distplot
使用pandas
和seaborn
來了解數據集的密度。Seasborn Distplot無響應
輸入
#Car,45
#photo,4
#movie,6
#life,1
#Horse,14
#Pets,20
#run,67
#picture,89
的數據集有上述10K
行,no headers
,我試圖用col[1]
代碼
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
df = pd.read_csv('keyword.csv', delimiter=',', header=None, usecols=[1])
#print df
sns.distplot(df)
plt.show()
沒有錯誤,因爲我可以打印輸入列,但distplot
正在計算和凍結屏幕。任何建議加快進程。
編輯1:建議在評論下面我嘗試從pandas.read_csv
更改爲np.loadtxt
,現在出現錯誤。
代碼:
import numpy as np
from numpy import log as log
import matplotlib.pyplot as plt
import seaborn as sns
import pandas
df = np.loadtxt('keyword.csv', delimiter=',', usecols=(1), unpack=True)
sns.kdeplot(df)
sns.distplot(df)
plt.show()
錯誤:
Traceback (most recent call last):
File "0_distplot_csv.py", line 7, in <module>
df = np.loadtxt('keyword.csv', delimiter=',', usecols=(1), unpack=True)
File "/usr/local/lib/python2.7/dist-packages/numpy/lib/npyio.py", line 726, in loadtxt
usecols = list(usecols)
TypeError: 'int' object is not iterable
編輯2:我的確從註釋部分
sns.distplot(df[1])
這做同樣的嘗試所提到的建議,提到原來。屏幕被凍結了很長時間。
sns.distplot(df[1].values)
我在這種情況下看到一個奇怪的行爲。
當輸入
Car,45
photo,4
movie,6
life,1
Horse,14
Pets,20
run,67
picture,89
它確實情節,當輸入低於
#Car,45
#photo,4
#movie,6
#life,1
#Horse,14
#Pets,20
#run,67
#picture,89
這又是同樣的凍結整個屏幕,就什麼也不做。
我確實試圖把comments=None
認爲它可能會閱讀他們的評論。但看起來comments
未在pandas
中使用。
謝謝
你需要做的是重新產生問題的最小工作示例。如果這四行數據確實是文件的全部範圍,請使用'io.StringIO'將它包含在腳本中。 –
當我指定列標題但代碼沒有標題時,我需要使用列號。數據是來自原始數據集的四行。它本質上不是持續的。 –
嘗試傳遞一個數組然後 –