我正在尝试从 Pandas 数据帧“速率”创建 2D 直方图 X 和 Y 轴应该是数据帧的转换,即 X 和 Y 轴从原始帧列和 bin 高度“缩放”根据每个 x/y bin 中的命中数。
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
我已经在我的框架“rates.dropna()”中删除了所有 NaN - 但实际上我猜从错误来看,这不是由于我的框架中的 NaN。
也许有人有一个想法,这里出了什么问题?