Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用叠加KDE的np.logspace()创建直方图_Python_Pandas_Numpy_Matplotlib_Histogram - Fatal编程技术网

Python 使用叠加KDE的np.logspace()创建直方图

Python 使用叠加KDE的np.logspace()创建直方图,python,pandas,numpy,matplotlib,histogram,Python,Pandas,Numpy,Matplotlib,Histogram,我有一个大的数据集(50k行),我想从数据中创建一个直方图,密度沿Y轴,值在x轴上按对数缩放,并叠加KDE图 这是所用数据的一小部分: A B C 1 1 4200 1 4 94000 1 4 81000 1 3 30000 1 3 29000 1 1 20400 Current code: columns= ['A','B','C'] df=pd.read_csv('data.

我有一个大的数据集(50k行),我想从数据中创建一个直方图,密度沿Y轴,值在x轴上按对数缩放,并叠加KDE图

这是所用数据的一小部分:

A       B    C
1       1   4200
1       4   94000
1       4   81000
1       3   30000
1       3   29000
1       1   20400


Current code:
columns= ['A','B','C']
df=pd.read_csv('data.csv', skipinitialspace=True, usecols=columns)

data=df[['C']].dropna().values
data=np.logspace(data)
plt.hist(data, bins='auto') 
我目前得到以下错误 logspace()缺少1个必需的位置参数:“stop”
当我不使用logspace时,我可以得到一个直方图,但不是我要找的那个。我对python非常陌生,因此非常感谢您的帮助。

np.logspace
的工作原理类似于
np.linspace
,用于创建仅在日志空间中均匀分布的数组
np.logspace
使用起始值和结束值创建数组,您可以查看文档。它不会记录您的数据。您需要使用
np.log

谢谢您的解释,让我重新表述一下我的问题。我们有一个提示,在X轴上使用对数间隔的箱子,因此我们应该使用np.logspace。我不熟悉统计,需要帮助我如何选择此功能的开始和结束,因为我也不熟悉如何选择存储箱的数量。您想使用
np.logspace
创建存储箱,然后创建直方图。类似于
bins=np.logspace(np.min(data),np.max(data))
then
plt.hist(data,bins=bins)
我得到了以下错误:运行时警告:在电源返回中遇到溢出\u nx.power(base,y),运行时警告:在subtract a=op(a[slice1],a[slice2]中遇到无效值,运行时警告:乘法boffset=-0.5*dr*totwidth*(1-1/nx)中遇到无效值。我的数据包含负数和0作为可能的值。然后您已经回答了自己的问题。。。如果您的数值为负数或为零,则不能使用log,因此您需要使用.01作为
start
值,这意味着您的柱状图不会计算这些数字。感谢这对柱状图部分的帮助。现在我正试图在顶部添加KDE。我使用KDE=df.data.plot.KDE()将KDE分开。我现在需要将这两种类型的可视化结合起来。