这是我原来的数据:
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
我转换了专栏' 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