powerlaw的pdf函数中的TypeError

时间:2018-06-03 20:04:08

标签: pandas power-law zipf

这是我原来的数据:

Firms   IndustrySsize
1   3598185 0-4
2   998953  5-9
3   608502  10-19
4   5205640 0-19
5   513179  20-99
6   87563   100-499
7   5806382 0-499
8   19076   500

我转换了专栏&#39; IndustrySsize&#39;如下所示,看看是否可以防止我在本期问题的底部出现错误&#39; TypeError: '<' not supported between instances of 'str' and 'int'&#39;。但事实上并没有。

这是我的代码:

newDS=removeTotal[['Firms', 'IndustrySize']][:8].astype(float)

我在上面的代码中有以下表格。我转换为float以防万一,以检查int和其他数据类型但是没有工作时是否有效。

Firms   IndustrySize
1   3598185.0   1.0
2   998953.0    2.0
3   608502.0    3.0
4   5205640.0   4.0
5   513179.0    5.0
6   87563.0 6.0
7   5806382.0   7.0
8   19076.0 8.0

我可以用这些数据生成正常的情节。

import matplotlib.pyplot as plt
plt.plot(newDS['Firms'],newDS['IndustrySize'] )
plt.show()

情节生成好。

现在如果我跑

from powerlaw import plot_pdf, Fit, pdf
x, y = pdf(newDS, linear_bins=True)

它会产生以下错误,下面提供回溯:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-21-79cc0ba3a245> in <module>()
      1 from powerlaw import plot_pdf, Fit, pdf
----> 2 x, y = pdf(newDS)

/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/powerlaw.py in pdf(data, xmin, xmax, linear_bins, **kwargs)
   1949 
   1950 
-> 1951     if xmin<1:  #To compute the pdf also from the data below x=1, the data, xmax and xmin are rescaled dividing them by xmin.
   1952         xmax2=xmax/xmin
   1953         xmin2=1
TypeError: '<' not supported between instances of 'str' and 'int'

我也问了这个问题here

0 个答案:

没有答案