2
我遍历一个数据帧中的每一列,并试图创建日志地块作为Matplotlib:广东话创建日志地块
cols = in_df.columns
for col in cols:
in_df[col]=in_df[col].dropna()
print (in_df[col].values)
in_df[col].map(np.log).hist(bins=1000)
plt.xlabel(x_label+col)
plt.ylabel('Number of customers in train')
plt.savefig(save_dir+col+'.png')
plt.close()
,但我得到
[2 2 2 ..., 2 2 2]
in_df[col].map(np.log).hist(bins=1000)
File "anaconda/envs/kaggle3/lib/python3.5/site-packages/pandas/tools/plotting.py", line 2988, in hist_series
ax.hist(values, bins=bins, **kwds)
File "anaconda/envs/kaggle3/lib/python3.5/site-packages/matplotlib/__init__.py", line 1819, in inner
return func(ax, *args, **kwargs)
File "anaconda/envs/kaggle3/lib/python3.5/site-packages/matplotlib/axes/_axes.py", line 5985, in hist
m, bins = np.histogram(x[i], bins, weights=w[i], **hist_kwargs)
File "anaconda/envs/kaggle3/lib/python3.5/site-packages/numpy/lib/function_base.py", line 505, in histogram
'range parameter must be finite.')
ValueError: range parameter must be finite.
注意,下面的工作
in_df.col_name.map(np.log).hist(bins=1000)
在遍历所有列的我不能怎么过使用这种方法。任何想法为什么我得到错误?
你正在取零的日志? – piRSquared
嗯,没有想到这一点。那里可能有零点 – AbtPst