Pandas/Python:2D直方图失败,出现值错误

Pandas/Python:2D直方图失败,出现值错误,python,numpy,pandas,matplotlib,histogram2d,Python,Numpy,Pandas,Matplotlib,Histogram2d,我正试图从熊猫数据帧“速率”创建一个2D历史程序 假设X轴和Y轴是数据帧的变换,即X轴和Y轴是从原始帧列“缩放”的,并且箱子高度是根据每个X/Y箱子中的点击数确定的 import numpy, pylab, pandas import matplotlib.pyplot as plt list(rates.columns.values) ['sizes', 'transfers', 'positioning'] x=(rates["sizes"]/1024./1024.) y=((rates

我正试图从熊猫数据帧“速率”创建一个2D历史程序 假设X轴和Y轴是数据帧的变换,即X轴和Y轴是从原始帧列“缩放”的,并且箱子高度是根据每个X/Y箱子中的点击数确定的

import numpy, pylab, pandas
import matplotlib.pyplot as plt

list(rates.columns.values)
['sizes', 'transfers', 'positioning']

x=(rates["sizes"]/1024./1024.)
y=((rates["sizes"]/rates["transfers"])/1024.)+rates["positioning]
所以,我试着将它们输入到一个numpy 2D直方图中

histo, xedges, yedges = numpy.histogram2d(x, y, bins=(100,100))
但是,这在以下情况下失败:

File "<stdin>", line 1, in <module>
File "/usr/lib64/python2.7/site-packages/numpy/lib/twodim_base.py", line 650, in histogram2d
 hist, edges = histogramdd([x, y], bins, range, normed, weights)
File "/usr/lib64/python2.7/site-packages/numpy/lib/function_base.py" line 363, in histogramdd
 decimal = int(-log10(mindiff)) + 6
ValueError: cannot convert float NaN to integer
文件“”,第1行,在
historogram2d中的文件“/usr/lib64/python2.7/site packages/numpy/lib/twodim_base.py”,第650行
hist,Edge=histogramdd([x,y],箱子,范围,赋范,权重)
historogramdd中的文件“/usr/lib64/python2.7/site packages/numpy/lib/function_base.py”第363行
十进制=整数(-log10(mindiff))+6
ValueError:无法将浮点NaN转换为整数
我已经在我的rame“rates.dropna()”中删除了所有NaN,但实际上,我猜这不是由于帧中的NaN造成的


也许有人有个想法,这里出了什么问题?

在@jme的帮助下,我走上了正确的道路

我没有检查有问题的值对 x:y=0.0:inf 显然不是一个好的2D直方图向量,也就是说,当转换原始值时,我必须捕捉这种情况

另一件事:numpy直方图在数据帧系列中有一些问题,因此我必须从系列中获得一个合适的numpy.array来正确地绘制它们,例如

histo, xedges, yedges = np.histogram2d(np.array(x[1:MAX]),np.array(y[1:MAX]), bins=(100,100))

如果我们不知道您使用的是什么数据作为输入,那么将序列切片到某个变量MAX

可能很难回答这个问题。你能找到可能出现错误的最小数组,以及你正在使用的numpy版本吗?嗨,可能我必须先问一个愚蠢的问题,如何获得子集图。t:我试图绘制一个切片,例如,H,xedges,yedges=np.historogram2d(x[1:1000],y[1:1000],bins=(10,10))但是得到了一个属性error AttributeError:bin的维度必须等于示例x的维度。我会假设,维度应该相等,或者??我的版本是numpy:1.8.2和pandas:0.15.2,