使用pivot_table和分类数据时,Pandas出错

时间:2015-04-29 13:32:48

标签: python pandas

我对熊猫没有兴趣。我有这个Data.Frame:

 category1  category2   numeric
0   grey    complete    1
1   grey    complete    2
2   NaN     incomplete  3
3   blue    complete    4

我想转动表格。

p.pivot_table(df, index = 'category1', columns = 'category2', values = 'numeric', aggfunc = 'count')

那没关系,但我需要在category1中添加一些类别,然后我这样做:

df['category1_'] = p.Categorical(df['category1'], categories = ['grey','blue','red'])

现在得到:

p.pivot_table(df, index = 'category1_', columns = 'category2', values = 'numeric', aggfunc = 'count')

ValueError: Cannot convert NA to integer

我认为分类系列中的NaN值存在问题,但是NaN下降了

df2 = df.dropna()

p.pivot_table(df2, index = 'category1_', columns = 'category2', values = 'numeric', aggfunc = 'count')

C:\Users\diego_000\Anaconda3\lib\site-packages\pandas\core\common.py in _astype_nansafe(arr, dtype, copy)
   2671 
   2672         if np.isnan(arr).any():
-> 2673             raise ValueError('Cannot convert NA to integer')
   2674     elif arr.dtype == np.object_ and np.issubdtype(dtype.type, np.integer):
   2675         # work around NumPy brokenness, #1987

ValueError: Cannot convert NA to integer

我不知道如何解决这个问题:使用pivot_table的分类数据在存在NaN值时不会保存类别,排序和出错。

我是熊猫新手吗?或大熊猫分类还在早期?

提前致谢。

0 个答案:

没有答案